继承

 

在Java中所有的类都继承于 java.lang.Object。当一个类没有显式使用继承的两个关键字(extends, implements),则默认继承 Object类。

继承可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。(注:如果父类的属性是private型,子类无法调用)

  

class Person {
    int age =100;
    String name = "zhang";
    {
        System.out.println("Person");
    }
}
class Person1 extends Person{
    {
        System.out.println("Person1");
    }
}

public class Main {
    public static void main(String[] args) {
        Person1 s = new Person1();
        System.out.println(s.a);
        System.out.println(s.name);
    }

}

运行截图:

子类Person1可以调用父类Person的name 和 age。

 

在子类中调用父类的方法,可以使用super()。

class Person {
    int age;
    String name ;
    Person(int age, String name){
        this.age = age;
        this.name = name;
    }
}
class Person1 extends Person{
    private boolean gender;
    Person1(int age, String name , boolean gender) {
        super(age, name);
        this.gender = gender;
    }
    @Override
    public String toString() {
        return "Person1 [gender=" + gender + ", age=" + age + ", name=" + name + "]";
    }

}

public class Main {
    public static void main(String[] args) {
        Person1 s = new Person1(1 , "zhang" , true);
        System.out.println(s);
    }

}

运行截图:

 

当子类的方法与父类名称相同时,子类的方法会覆盖父类,也就是方法重写

class Person {
    void show() {
        System.out.println("person");
    }
}

class Person1 extends Person {

    void show() {//覆盖父类的show()
        System.out.println("person11");
    }
}

public class Main {
    public static void main(String[] args) {
        Person1 s = new Person1();
        s.show();
    }

}

 

 运行截图:

 

posted @ 2023-11-02 19:29  kandhera  阅读(12)  评论(0)    收藏  举报