2022-12-02

一、重写

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、改造打印程序,从控制台输入,选不同的打印机,打印照骗

你可能感兴趣的:(2022-12-02)