一、重写
1、返回值类型是void或者基本数据类型,重写前后要一致
返回值类型是引用数据类型,重写前后要一致或重写后返回值类型是重写前返回值类型的子类
2、方法名相同
3、参数列表的个数、类型、顺序一致
4、重写后方法的访问范围要大于等于重写前
二、super
super(值)表示调用父类的构造方法
super.值表示给父类的属性赋值,自己也继承过来
三、继承关系下各代码块执行顺序
public class Father {
{
System.out.println("调用父类的构造代码块");
}
static {
System.out.println("调用父类的静态代码块");
}
public Father() {
System.out.println("调用父类的构造方法");
}
}
public class Son extends Father {
{
System.out.println("调用子类的构造代码块");
}
static {
System.out.println("调用子类的静态代码块");
}
public Son() {
System.out.println("调用子类的构造方法");
}
}
new Son();
new Son();
结果:
调用父类的静态代码块
调用子类的静态代码块
调用父类的构造代码块
调用父类的构造方法
调用子类的构造代码块
调用子类的构造方法
调用父类的构造代码块
调用父类的构造方法
调用子类的构造代码块
调用子类的构造方法
四、封装
包:类要写到包中,包本质上是个文件夹
每个java文件,第一行都要写package 包名;
有了包,方便我们管理
如果引入其他包中的类,需要
1、在当前类中引入,语法为import 包名.类名;
包名.类名又叫全限定名或者全类名
使用import引入这种方式,同名的类只能引入一个
2、或者在要使用的类名前加包名
相比较各有利弊,2比1优先级高,1比2作用范围大
访问权限修饰符
修饰成员:public、protected、default、private
image.png
修饰类:public、default
五、java文件中写类的说明
1、一个java文件最多只能写一个public类,可以写多个default类
2、public类必须和文件同名
3、主方法要放到public类中,才能执行
绝对不能认为封装就是一个简单的private
六、JaveBean规范
JavaBean可以理解为实体类
1、类公有
2、属性私有
3、为私有属性提供get、set访问方法
4、提供无参构造方法
七、私有的属性和行为能不能被继承?
私有的属性,子类中不能直接被访问,需要通过公有的get、set访问方法访问
八、上溯造型、下溯造型
上溯造型(向上转型、父类引用指向子类对象)
下溯造型(向下转型,注意:必须先有上溯才能下溯)
Father f = new Son();//上溯
Son s = (Son)f;//下溯
九、上溯造型相关说明
1、从父类继承的属性和方法可见,子类定义的属性和方法对外界不可见
2、父类和子类有同名属性,最后取到的是父类中的属性
3、父类和子类有同名方法,最后取到的是子类重写后的方法
image.png
十、多态
1、有继承或实现
2、重写
3、上溯造型
作业
1、写一个只能获取到一个对象的类
2、写一个球员类,要求该类只能创建11个对象
3、(1)写一个汽车父类,有个支付车费的方法
(2)汽车类有三个子类:轿车、卡车、公交,分别重写支付车费方法,轿车3元每小时,卡车20元每小时,公交10元每小时
(3)写一个停车场类,有一个停车方法,参数为汽车类型,停车方法内部调用汽车类的支付车费方法。
4、改造打印程序,从控制台输入,选不同的打印机,打印照骗








网友评论