补充
匿名对象
含义:没有名字的对象
格式:
new 类名();
好处:提高内存的使用率
匿名对象因为没有名字,只允许被调用一次
调用它的方法or其他执行完毕该对象就会被JVM认定为垃圾,等待GC回收。
特点:当对象只用使用一次的时候可以使用匿名对象。
弊端:只能使用一次。
对象数组
储存对象的数组
public class OOPDemo11 {
public static void main(String[] args) {
Student[] student;
Student s1 = new Student("古力娜扎",9);
Student s2 = new Student("迪丽热巴",9);
Student s3 = new Student("马尔扎哈",99);
student = new Student[]{s1, s2, s3};
for (Student student1 : student) {
System.out.println(student1.getName()+"="+student1.getAge());
}
}
}
类中的私有方法
固定私有就是被private关键字修饰的方法,这样的方法不可以被外界所访问,只在本类中有效。
private 返回值类型 方法名 () {}
构造器代码块
从某种程度上来看,构造器代码块是对构造器的补充,构造器代码块总是在构造器执行之前执行。与构造器不同的是,构造器代码块是一段固定执行的代码,它不能接收任何参数。因此构造器代码块对同一个类的所有对象所进行的初始化处理完全相同。基于这个原因,不难发现构造器代码块的基本用法,如果有一段初始化处理代码对所有对象完全相同,且无须接收任何参数,就可以把这段初始化处理代码提取到构造器代码块中。既如果两个构造器中有相同的初始化代码,且这些初始化代码无须接收参数。就可以把它们放在构造器代码块中定义。通过把多个构造器中的相同代码提取到构造器代码块中定义,能更好地提高初始化代码的复用,提高整个应用的可维护性。
-
定义位置:类中
-
构造器代码块的格式
-
{ 所有构造器中相同的代码; }
-
特点:
-
构造器代码块在new对象时候都会被调用一次
-
构造器代码块中的内容总是优先于构造器中的显式内容执行
-
this关键字的第二种使用方法
-
应用场景
-
(子)类的构造器中
-
-
作用:当构造器自己无法进行实例初始化的时候,调用本类中其它的构造器完成实例初始化
-
格式:
this(实参)
-
注意事项:
-
this()必须写在构造器第一行
-
public class Constructor {
public Constructor() {
this(1);
System.out.println("子类的无参构造器");
}
public Constructor(int a) {
this(1,2);
System.out.println("子类的一个参构造器");
}
public Constructor(int a,int b) {
System.out.println("子类的两个参构造器");
}
}