欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java第八课

程序员文章站 2024-01-06 16:39:40
...

这节课重点学习了继承,关键词 extends,相比前两节课,感觉轻松一点。 父类也叫基类,子类也叫派生类

复用类
1.	定义:重复使用的类
2.	表现形式:
   ①	组合:新建的类包含其它现有的类
      1)	汽车(SedanCar、Truck)
        a.	车窗(Window)
        b.	车门(Door)
        c.	车轮(Wheel)
        d.	车身(Body)
   ②	继承:新建的类承自于旧的类
      1)	语法:
        java中所有的类都直接或间接继承Object
            i.	直接		Obejct->Test
            ii.	间接		Obejct->Test->AA

      2)	格式:访问修饰词 class类名extends父类(基类)
      3)	特点:
        a)	父类的public属性可以直接给子类使用
        b)	子类与父类拥有同名属性,使用的是子类的属性(就近原则/隐藏)
        c)	子类与父类拥有相同方法,使用的是子类的方法(就近原则/覆盖)
        d)	子类与父类拥有相同方法,但子类的方法参数与父类不同(重载)
        e)	同名方法,子类方法的修饰词必须大于父类
3.	继承时
                    protected				不写
    同包下的子类		可用				可用
    跨包下的子类		可用				不可用
4.	super关键词
       ①	调用构造器
        1)	构造器不被继承
        2)	默认调用父类缺省构造器
        3)	调用构造器要写在代码首行
       ②	调用属性
       ③	调用方法
5.	继承时初始化顺序
    ①	无继承:静态---非静态--构造器
    ②	继承:父类静态-子类静态-父类非静态-父类构造器-子类非静态-子类构造器
6.	final关键词
    ①	属性
        1)	被final修饰过的属性称为常量
        2)	被final修饰过的属性一定要赋初值
        3)	被final修饰过的属性不能修改值
        4)	被final修饰过的对象属性不能被重新实例化,但对象属性中的值可以被修改
        5)	final属性可以用构造器赋初值,但是必须所有的构造器都给它赋初值;
        6)	静态空白final属性不能再构造器赋初值
    ②	方法
        1)	被final修饰过的方法不能被子类重写
    ③	类
        1)	被final修饰过的类不可以被继承

复制代码

作业:编写一个基类Person类,子类Student类,使用带参数的构造器Student(int id)对域id初始化,并把参数id通过构造器传给基类构造器Person(int id)

public class Person {
    int id;
    int age;
    double weght;
    public Person(int id){
        this.id=id;
    }
}
复制代码
public class Student extends Person {
    public Student(int id){
        super(id);
    }
    public static void main(String[] args) {
        Student stu=new Student(1);
    }
}
复制代码

转载于:https://juejin.im/post/5b630d89e51d4519873f8971