黑马程序员技术交流社区

标题: 【成都校区】继承 [打印本页]

作者: 编程青年    时间: 2019-9-18 19:06
标题: 【成都校区】继承
1. 继承1.1 继承的实现(掌握)1.2 继承的好处和弊端(理解)2. 继承中的成员访问特点2.1 继承中变量的访问特点(掌握)
在子类方法中访问一个变量,采用的是就近原则。
2.2 super(掌握)2.3 继承中构造方法的访问特点(理解)
注意:子类中所有的构造方法默认都会访问父类中无参的构造方法
​        子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化,原因在于,每一个子类构造方法的第一条语句默认都是:super()
问题:如果父类中没有无参构造方法,只有带参构造方法,该怎么办呢?

1. 通过使用super关键字去显示的调用父类的带参构造方法
2. 在父类中自己提供一个无参构造方法
推荐方案:
​        自己给出无参构造方法
2.4 继承中成员方法的访问特点(掌握)
通过子类对象访问一个方法
2.5 super内存图(理解)2.6 方法重写(掌握)2.7 方法重写的注意事项(掌握)
public class Fu {
    private void show() {
        System.out.println("Fu中show()方法被调用");
    }

    void method() {
        System.out.println("Fu中method()方法被调用");
    }
}

public class Zi extends Fu {

    /* 编译【出错】,子类不能重写父类私有的方法*/
    @Override
    private void show() {
        System.out.println("Zi中show()方法被调用");
    }
   
    /* 编译【出错】,子类重写父类方法的时候,访问权限需要大于等于父类 */
    @Override
    private void method() {
        System.out.println("Zi中method()方法被调用");
    }

    /* 编译【通过】,子类重写父类方法的时候,访问权限需要大于等于父类 */
    @Override
    public void method() {
        System.out.println("Zi中method()方法被调用");
    }
}2.8. Java中继承的注意事项(掌握)3. 继承练习3.1 老师和学生(应用)3.2 猫和狗( 应用)4. 修饰符4.1 package(了解)4.2 import(理解)
package com.heima;

public class Demo {
    public static void main(String[] args) {
        // 1. 没有导包,创建Scnaner对象
        java.util.Scanner sc = new java.util.Scanner(System.in);
    }
}
package com.heima;

import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        // 1. 没有导包,创建Scnaner对象
        Scanner sc = new Scanner(System.in);
    }
}4.3 权限修饰符(理解)
4.4 final(应用)4.5 final修饰局部变量(理解)4.6 static(应用)
class Student {

    public String name; //姓名
    public int age; //年龄
    public static String university; //学校   共享数据!所以设计为静态!

    public void show() {
        System.out.println(name + "," + age + "," + university);
    }

}

public class StaticDemo {
    public static void main(String[] args) {
        // 为对象的共享数据赋值
        Student.university = "传智大学";

        Student s1 = new Student();
        s1.name = "林青霞";
        s1.age = 30;
        s1.show();

        Student s2 = new Student();
        s2.name = "风清扬";
        s2.age = 33;
        s2.show();
    }
}4.7 static访问特点(掌握)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2