Java 不支持不同类型之间的运算
System.out.print(1+“123”);
在编译过程中编译器,因为有字符串"123",+在这里做连接符,将int类型的1先转变为String类型再做输出
变参方法
public static int sum(数据类型 … 变量名){
int sum = 0;
for(int i = 0;i<变量名.length;i++){
sum += 变量名[i];
}
return sum;
}
ps:这个方法是在方法的参数类表中任意输入参数,将这写参数放入一个数组中。
先有类还是先有对象:
从分析角度来看
现实世界:先有对象,再有类。
从编码角度来看:先有类,然后再有对象。
类的组成:1.属性(成员变量) 2.构造方法 3.功能 方法(普通方法)
构造方法:
1.没有返回值类型
2.方法名与类同名
3.一个类至少有一个构造方法,如果类中没有现实的定义构造方法,那么编译器会自动生成一个默认无参的空的构造方法。
一个类可以有多个构造方法,重载,满足创建不同对象的需求。
构造方法的作用:初始化对象
创建对象的过程:
1.看当前对象的类是否被加载,如果没有加载,那么加载对应的类
加载类:装载(将字节码数据加载到方法区),链接,类的初始化(执行类中的静态代码块,以及对静态成员进行默认初始化以及显示的赋值)
如果已经加载过了,那么久不再加载了。
2.对l类中所有的是类成员(非静态成员变量)在堆中分配内存,并执行默认初始化。
再执行实例成员变量的显式初始化。
3.执行构造方法中的代码。执行完毕之后,对象初始化完毕,有new关键字将对象的地址赋值给对象的变量
this
this:this是一个关键字。代表当前对象。this可以访问本类的成员
1.不同对象访问同一方法,实现了访问不同对象内部自己的属性。
2.可以用来区分同名的成员变量和局部变量。
3.可以再本类的构造方法内,调用其他的构造方法(…);
Static:
1.只有一块内存,在类加载的时候分配,多个对象共享访问。
访问方式:
1.可以使用对象访问
2.还可以使用类名直接访问
3.建议使用类名访问