1.比较:
= = | equals | |
判断类型: | 对象或变量的地址 | 封装类型和String类型:判断的是值 普通类型对象:判断是的对象的地址 |
hash Code:
1.整型类的hash Code是该值本身
2.浮点类的hash Code不是它的值
3.Character的hash Code是该字符对应的整型数字,比如a的hash Code是97
4.String类的hash Code是一串数字,注意:当两个String类型的对象具有相同的值时,它们的hash Code是相等的
5.非封装类型和String类型的类对象的hash Code是一串无规则的数字
抽象类:
1.定义:
类似一个“模板”,可根据他的格式定义新的类
2.声明
使用abstract关键字进行声明
修饰符 abstract class 类名{...}
抽象方法的声明:
修饰符 abstract 返回值类型 方法名(参数列表);
3.特点:
①如果在一个类中至少一个抽象方法 ,那么这个类必须被定义为抽象类
②如果这个类中,没有抽象方法,这个类也可以定义为抽象类
③抽象方法只需声明,不能在抽象类中实现
④抽象类中可以定义普通方法
⑤构造方法、static方法、private方法和final方法不能被定义为抽象方法
⑥抽象类不能被实例化,需要定义子类,继承该抽象类,通过实例化子类对象,来得到抽象类对象
⑦如果一个类继承了抽象类,那么它需要实现该抽象类的所有抽象方法
如果这个类只是实现了抽象类的部分抽象方法,那么这个类必须被定义为抽象类
接口:
1.定义
接口是常量和抽象方法的集合
2.写法
修饰符 interface 接口名{...}
3.特点
①接口中的属性都为常量,默认使用public static final来修饰,所以,声明一个属性时必须赋初值
②接口中的方法默认为抽象方法,默认使用public abstract来修饰
③在接口中,声明方法时,不能使用static final synchronized private protected来修饰
④一个类实现一个接口,需要使用implements
⑤多个无关的类可以实现同一个接口
⑥一个类可以实现多个接口
⑦一个接口可以通过extends继承多个接口
final:
(1)final修饰变量(成员变量或局部变量),则成为常量,只能赋值一次
final type variableName;//变量名一般大写
修饰成员变量时,定义时同时给出初始值,而修饰局部变量时不作要求
(2)final修饰方法,则该方法不能被子类重写
final return Type methodName(paramList)
{
......
}
(3)final修饰类,则类不能被继承
final class finalClassName{
...
}
多态:
1.多态的分类
①编译时多态:静态多态,由方法重载来体现
②运行时多态::动态多态,由向上转型来实现
子类转型成父类是向上转型(父类 a = new 子类()),反过来说,父类转型成子类就是向下转型。但是,向下转型可能会带来一些问题:我们可以说麻雀是鸟,但不能说鸟就是麻雀。
2.多态的特点:
父类声明的变量,用子类构造器初始化,那么这个对象是子类对象,但是,它只能访问父类的属性和方法,以及子类重写父类 的方法,不能去访问子类自有属性和方法
共同学习,写下你的评论
评论加载中...
作者其他优质文章