1.Private关键字:
(1)private关键字是一个权限修饰符
(2)可以修饰成员变量和成员方法
(3)被private修饰的成员只能在本类中才能访问
(4)针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
(5)提供"setXxx(参数)"方法,用于给成员变量赋值,方法用public修饰
(6)提供"getXxx(参数)"方法,用于获取成员变量的值,方法用public修饰
2.this关键字的作用用于区别成员变量和局部变量
(1)this.成员变量----访问本类成员变量
(2)this.成员方法----访问本类成员方法
(3)this(…)----访问本类构造方法
3.标准的JavaBean类:
(1)类名需要见名知意
(2)成员变量使用private修饰
(3)提供至少两个构造方法
无参构造方法
带全部参数构造方法
(4)成员方法
提供每一个成员变量对应的setXxx()/getXxx()
如果还有其他行为,也需要写上
4.继承和继承的好处与弊端
(1)继承是面向对象三大特征之一,可以让类跟类之间产生父子的关系,子类继承父类的属性和方法,并且子类可以追加属性和方法。
(2)可以把多个子类中重复的代码抽取到父类中,子类可以直接使用,减少代码冗余,提高代码的复用性
(3)Java中类只支持单继承,不支持多继承,但支持多层继承。
(4)好处:提高了代码的维护性,复用性
弊端:降低了子类的独立性
5.继承的格式
public class 子类 extends 父类 {}
6.继承后子类的特点
(1)子类可以得到父类的属性和行为,子类可以使用
(2)子类可以在父类的基础上新增其他功能,子类更强大
7.Java中所有的类都直接或者间接继承于Object类
8.子类只能访问父类中非私有的成员
9.多态:同一对象,在不同时刻表现出来的的不同状态
10.多态的前提:
(1)有继承/实现关系
(2)有父类引用指向子类对象
(3)有方法的重写
11.多态的好处与弊端:
(1)多态的好处:使父类型作为参数,可以接受所有子类对象,体现多态的拓展性与便利
(2)多态的优势:方法中,使用父类作为参数,可以接收所有子类对象
(3)多态的弊端:不能使用子类的特有功能
12.引用数据类型的类型转换方式:
自动类型转换,强制类型转换
13.强制类型转换能解决的问题:
(1)可以转换成真正的子类类型,从而调用子类独有功能
(2)转换类型与真实对象类型不一致会报错
(3)转换的时候用instanceof关键字进行判断
14.final关键字:
(1)修饰方法:最终方法,不能被重写
(2)修饰类:最终类,不能被继承
(3)修饰变量:是常量,不能被修改
变量是基本类型,值不可以被改变;
变量是引用类型,地址值不能被改变,但地址里面的内容可以被改变
15.抽象类的作用是什么样的?
抽取共性时,无法确定方法体,就把方法定义为抽象的
强制让子类按照某种格式重写
抽象方法所在的类,必须是抽象类
16.抽象类和抽象方法的格式
public abstract 返回值类型 方法名称(参数列表)
public abstract class 类名{}
17.继承抽象类要注意的点
要么抽象类中所有抽象方法,要么是抽象类
18.接口成员的特点
成员变量:只能是常量,默认修饰符:public static final
构造方法:没有
成员方法:只能是抽象方法,默认修饰符:public abstract
19.类和接口的关系:
(1)类和类的关系:继承关系,只能单继承,不能多继承,但是可以多层继承
(2)类和接口的关系:实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
(3)接口和接口的关系:继承关系,可以单继承,也可以多继承
20.内部类的分类:成员内部类,静态内部类,局部内部类,匿名内部类
(1)成员内部类:写在成员位置的,属于外部类的成员
获取成员内部类对象的两种方法:
①当成员内部类被private修饰时
②在外部类编写方法,对外提供内部类对象
(2)当成员内部类被非私有修饰时,直接创建对象
Outer.Inner oi = new Outer().new Inner();
(3)外部类成员变量和内部类成员变量重名是,内部类访问格式为:
System.out.println(Outer.this.变量名);
(4)什么是匿名内部类?
隐藏了名字的内部类,可以写在成员位置,也可以写在局部位置
①匿名内部类的格式
new 类名或者接口名(){
重写方法;
};
②格式的细节
包含了继承或实现,方法重写,创建对象。
整体就是一个类的子类对象或者接口的实现类对象
③使用场景
当方法的参数是接口或者类时,
以接口为例,可以传递这个接口的实现类对象,
如果实现类只要使用一次,就可以用匿名内部类简化代码