因为javac.exe和java.exe在JDK的bin目录下,而在DOS窗口中,Windows操作系统查找命名只在当前的目录下,和Path所指向的地方拿取命名,所以配置Path实则是为操作系统指路。
一个XX.java文件中如果包含Public class和一个class,经过编译后,则生成2个class文件,如果是public class编译生成的class文件,则与java文件同名,可以直接使用 java + 类名(也就是java文件名) 进行运行,而class编译生成的class文件则需要java+类名进行运行,
被Public修饰过的类可以被其他java文件访问,而不被修饰的则不可以。
每个编译单元(文件)都只能有一个public类。即每个编译单元都有单一的公共接口,用public类实现。此时,mian()就必须要包含在public类中。
public类的名称必须完全与含有该编译单元的文件名称一致,包括大小写。如果不匹配,编译时错误
总的来说,一个Java源文件中最多只能有一个public类,当有一个public类时,源文件名必须与之一致,否则无法编译,如果源文件中没有一个public类,则文件名与类中没有一致性要求。至于main()不是必须要放在public类中才能运行程序。
首先标识符是什么?
凡是程序中需要自己命名的都是标识符,例(类名,方法名,变量名,接口名,常量名..)
命名规则:
1.只能由数字/字母/下划线/美元$/组成
2.不能数字开头/严格区分大小写/
3.理论上无长度限制
命名规范:
1.最好见名知意
2.遵守驼峰命名法
3.类名/接口名:首字母大写,后面每个单词首字母大写。
变量名/方法名:首字母小写,后面每个单词首字母大写。
由数据类型+名称+字面值 ,组成 例:int BianLiang =1;
变量的分类:
全局变量:贯穿这个方法;
局部变量:方法体中声明的变量;(出了大括号就无效了)
成员变量:方法体之外,类体之内声明的变量
public class Lianxi13 {
int age =20; //成员变量 age;
public void Xuexi() {
for(int i=0;i<5;i++) {
System.out.println(i); //局部变量i;
} }
}
引用数据类型:字符串,数组,接口,默认值都是null
基本数据类型:4类8种
整型:byte,short,int,long(1,2,4,8)
浮点型:float,double(4,8)
布尔类型:boolean(1)
字符型:char(2)
注意:默认不存在任何类型转化关系,但是小精度可以转为大精度,大精度不可转化为小精度(损失精度)
十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 ...19 1a 1b 1c 1d 1f
八进制:0 1 2 3 4 5 6 7 10 11 12 13 14
java种字面值有三种表示形式
①十进制:【缺省的默认的方式】 int a =10;10
②八进制:【在编写之前需要以0开始】int b =010;8
③十六进制:【在编写前需要以0x开始】int c =0x10;16
语法规则:
布尔表达式?表达式1:表达式2
true,则执行表达式1,false执表达式2;
实例方法:就是没有被Static修饰的方法 ,需要new对象然后调用;
静态方法:就是被Static修饰过的方法,通常是类名.方法(如果在当前类种调用,类名可以省略)
JVM:分有这样的三块内存,(当然除了这三块外还有其他的)
方法区内存:public class..代码调用
堆内存:为所new对象分配空间
栈内存:调用方法时,分配内存,为变量申请内存
方法重载:同一个类中功能相似的方法,可以写成相同名字,此时依靠方法的参数的不同来区分
参数数量,参数顺序,参数类型。例如:在给一个类书写构造方法时候,全参构造和
无参数构造就相当于方法重载
方法重写:当一个类继承一个类的时候,同时会继承父类的方法,但是当其父类的方法功能不满足
其需求的时候,可以通过重写方法来完善。(重写的时候方法名,返回值类型,形参列
表相同)
https://www.cnblogs.com/fenjyang/p/11462278.html
1.被final修饰的类,无法被继承; public final class A{ }
2.被final修饰的方法,无法重写; public final void method(){ }
3.被final修饰变量,一旦赋值不可修改;final k =200;
4.修饰实例变量必须手动赋值;
用于判断xx是否为XX的实例对象;
a instance of Anlmal ;a是否是Animal的实例对象
命名规范:公司域名倒叙+项目名+模块名+功能(全部小写)
导包:先引入需要调用的对象,在进行调用对象的功能;
super关键字的用法有三种:
1.在子类的成员方法中,访问父类的成员变量。
2.在子类的成员方法中,访问父类的成员方法。
3.在子类的构造方法中,访问父类的构造方法。
----------------------------------------------------今天就写到这,明天继续写。