摘要:
抽象类:就是使用abstract关键字修饰的类 特点: 抽象类不能实例化; 抽象类中的抽象函数必须由子类去实现,否则子类也是抽象类; 抽象类有构造函数,是供子类创建对象时使用的; 因为抽象函数必须由子类实现,所以不参与继承的(private)和不能被子类重写的(final)关键字不能和abstrac 阅读全文
摘要:
boolean = Object(类引用名) instanceof Class(类名) 作用:判断符号左边的引用指向的对象是否是右边这个类的对象; 阅读全文
摘要:
抽象类的概念:是使用关键字abstract修饰的类就是抽象类; 抽象类的产生:当多个不能相互继承的类具有相同的功能时,就需要将共同的信息向上抽取,放到公共的父类中;如果公共的父类只能描述所有子类都具有的功能,但描述不清功能的具体实现,就需要将该函数定义为抽象的,使用关键字abstract修饰;如果一 阅读全文
摘要:
继承的作用:子类可以直接拥有父类成员;其中,私有成员和构造函数不参与继承; java中类继承的特点:只支持单一继承和多重继承,不支持多继承(一个类不能同时继承多个类) 继承中成员变量的特点:子类中可以直接使用父类中定义的非私有的成员变量;如果子类中定义了和父类中相同的成员变量,直接调用,实际使用的是 阅读全文
摘要:
1.饿汉式: 特点:1、在类加载的时候就创建了唯一实例对象,保证了对象的唯一性; 2、这个类一旦加载,就会创建唯一对象,就算不适用对象,也会创建,造成内存浪费; 2.懒汉式: 特点:1、只有在第一次真正需要使用对象的时候才会创建对象,避免了饿汉式那样的内存浪费的问题; 2、在多线程环境下,不能保证对 阅读全文
摘要:
类的加载过程: 1、启动JVM,加载程序中需要使用的class文件。 2、在加载class文件的时候,所有的静态内容(静态成员变量,静态成员函数,静态代码块)都要加载到方法区的静态区中。 3、当类中的所有静态加载完成之后,开始给类中的所有静态成员变量默认初始化。 4、类中的所有静态成员变量默认初始化 阅读全文
摘要:
1、它们在内存中出现的时间不同: 静态成员变量:它是在加载当前这个类的时候,就在方法区的静态区中存在。 非静态成员变量:当创建这个类的对象的时候,随着对象的产生在堆中出现。 2、它们所在的内存区域不同: 静态成员变量:在方法区的静态区中。 非静态成员变量:堆内存中。 3、它们的初始化时间不同: 静态 阅读全文
摘要:
1、this是用来记录当前调用这个函数的这个对象; 2、this可以在构造函数中完成调用其他的构造函数,格式:this( 参数) ; 备注:this调用构造函数,必须放在构造函数中的第一句。我们通过this调用构造函数的目的是希望通过其他的构造函数完成初始化动作,因此要求其他构造函数的初始化必须在本 阅读全文
摘要:
1、它们的执行时间不同: 构造函数是在创建对象的过程中执行。当对象创建完成了,构造函数就已经执行结束。 一般函数执行时间有两种情况:1) 如果调用其他类中的函数时:一般函数通过是在对象创建完成之后,通过对象的引用来调用。 2) 如果调用本类中的函数时:什么时候使用,什么时候调用。 2、它们的调用次数 阅读全文