类的继承

  • Java中使用extends来实现继承
  • 通过继承,子类自动拥有了基类(supercalss)的所有成员。
  • Java只支持单继承,一个子类只允许有一个基类,一个基类可以有多个子类。
class Person
{
    private String name;
    private int age;
    public void setName (String name)
    {
        this.name = name;
    }
    public void setAge(int age)
    {
        this.age = age;
    }
    public String getName()
    {
        return name;
    }
    public String getAge()
    {
        return age;
    }
}
class Student extends Person        //继承
{
    private String school;
    public String getSchool()
    {
        return school;
    }
    public void setSchool(String school)
    {
        this.school = school;
    }
}

内存分析

  • 每new一个子类,它都包含一个父类的对象。

Java 继承和访问控制

访问控制


default权限

  • 如果我们在定义一个变量时前面什么都不加,这个变量就是default权限,也称包权限。如果其他的类想访问这个变量,那么他们必须在同一个包下面。

protected权限

  • 子类可以访问
  • 对于class的修饰只能用default和public

Java 继承和访问控制

方法的重写


Java 继承和访问控制

super关键字


  • 和this类似,this表示当前对象。super表示父类。
class FatherClass
{
    public int value;
    public void f()
    {
        value = 100;
        System.out.println("FatherClass.value = "+value);
    }
}
class ChildClass extends FatherClass
{
    public int value;
    public void f()
    {
        super.f();
        value = 200;
        System.out.println("ChildClass.value = "+value);
        System.out.println(value);
        System.out.println(super.value);
    }
}
public class Test
{
    public static void main(String args[])
    {
        calss cc = new ChildClass();
        cc.f();
    }
}

内存分析

Java 继承和访问控制

继承的构造方法


Java 继承和访问控制

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-03-31
  • 2021-07-19
  • 2022-12-23
  • 2022-02-13
  • 2021-10-12
猜你喜欢
  • 2022-02-19
  • 2022-12-23
  • 2021-12-25
  • 2021-07-05
  • 2021-11-26
  • 2021-06-29
  • 2021-08-22
相关资源
相似解决方案