1.类的继承
Java语言每一个类只能继承一个父类
继承关键词:extends
父类和普通类的写法相同:
public class 父类类名{
}
子类写法:
public class 子类类名 extends 父类类名{
}
1.创建子类对象,观察构造方法执行顺序:
2. 在电话类基础上衍生出手机类:
所有类的构造方法第一行都有一个隐藏的“super();”,作用是在执行该构造方法之前调用其父类构造方法
2.Object类
getClass()方法:
getClass方法是Object类定义的方法,它会返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称。语法如下:
getClass().getName();
方法的重写:
返回参数相同 方法名相同 传入参数相同 方法体不同
toString()方法:
toString()方法的功能是将一个对象返回为字符串形式,它会返回一个String实例。在实际的应用中通常重写toString()方法,为对象提供一个特定的输出模式。当这个类转换为字符串或与字符串连接时,将自动调用重写的toString()方法。
3.让学生自我介绍:
equals()方法:
在 Java 语言中,有两种比较对象的方式,分别为“==”运算符与 equals()方法。两者的区别在于:比较的是两个对象引用内存地址是否相等,而 equals()方法比较的是两个对象的实际内容。
4.根据身份证号判断是否为同一人:
3.对象类型的转换
向上转型:
将子类对象赋值给父类引用
自动类型转换
如:Animal a = new Dog();
5.tom是谁:
向下转型:
将父类对象赋值给子类引用
需要进行强制类型转换
如:Dog a = () new Animal();
6.谁是鸽子:
4.方法的重载
重载:
方法名相同,参数不同
7.编写不同形式的加法运算方法:
不定长参数:
返回值 方法名(参数数据类型...参数名)
8.使用不定长参数重载加法运算方法:
5.final关键词
final修饰变量——不可以被修改(常量)
final修饰方法——不可以被重写
final修饰类——不可以被继承
9.定义不允许被修改的常量:
10.使用final关键词为电视机上儿童锁:
6.使用instanceof关键字判断对象类型
instanceof:
对象名 instanceof 类名
判断该对象是否属于该类或其子类
对象名 instanceof 接口名
判断该对象是否属于该接口的实现类
11.分析几何图形之间的继承关系:
7.多态
利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行通用的处理。
假如现在要编写一个绘制图形的方法draw(),如果传入正方形对象就绘制正方形,如果传入圆形对象就绘制圆形,这种场景可以使用重载来实现,定义如下:
public void draw(Square s){
}
public void draw(Circular c){
}
12.万能的绘图工具:
8.抽象类与接口
修饰符 abstract 返回参数 方法名(传入参数);
public abstract void methodName();
抽象类 有抽象方法的类一定是抽象类
修饰符 abstract class 类名{
}
只要类中有一个类,那么这个类就被标记为抽象类,抽象类不能直接被继承,要么子类也为抽象类,要么将它重写
接口 所有方法都是抽象方法
Java语言每个类可以实现多个接口
修饰符 interface 接口名{
}
实现 implements
修饰符 class 类名 implements 接口1,接口2,.....{
}
13.将绘图方法设为接口方法: