• java继承


    java 继承测试:

    package java继承;
    class Animal {
          void eat() {
            System.out.println("animal : eat");
          }
        }
         
        class Dog extends Animal {
          void eat() {
            System.out.println("dog : eat");
          }
          void eatTest() {
            this.eat();   // this 调用自己的方法
            super.eat();  // super 调用父类方法
          }
        }
         
        public class test {
          public static void main(String[] args) {
            Animal a = new Animal();
            a.eat();
            Dog d = new Dog();
            d.eatTest();
          }
        }

    运行结果

    package java继承;
    class Animal {
          void eat() {
            System.out.println("animal : eat");
          }
        }
         
        class Dog extends Animal {
          void eat() {
            System.out.println("dog : eat");
          }
          void eatTest() {
            this.eat();   // this 调用自己的方法
           // super.eat();  // super 调用父类方法
          }
        }
         
        public class test {
          public static void main(String[] args) {
            Animal a = new Animal();
            a.eat();
            Dog d = new Dog();
            d.eatTest();
          }
        }

    运行结果:

    通过上边代码,可得到:

    ①super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

    ②this关键字:指向自己的引用。

    继承的特性

    • 子类拥有父类非private的属性,方法。

    • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

    • 子类可以用自己的方式实现父类的方法。

    • //Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类。

    不能继承的类:

    关键字final,实例变量也可以被定义为 final,被定义为 final 的变量不能被修改。被声明为 final 类的方法自动地声明为 final,但是实例变量并不是 final。

    思考题:子类的构造方法在运行之前,必须调用父类的构造方法,不能反过来,原因如下:

    构造一个对象,先调用其构造方法,来初始化其成员函数和成员变量。
    子类拥有父的成员变量和成员方法,如果不先调用父类的构造方法,则从父类继承而来的成员变量和成员方法得不到正确的初始化。

        public class test {
          public static void main(String[] args) {
           System.out.println(new test());
          }
        
    }

    运行结果:

  • 相关阅读:
    在国外搭建 Web 服务器
    双向循环链表的实现
    使用C/C++扩展Python
    用C语音编写python的扩展模块,也就是python调c库
    《扩展和嵌入python解释器》1.4 模块方法表和初始化函数
    linux如何使用NFS挂载文件系统
    linux用户管理
    eims系统新增一级目录菜单流程
    Hadoop参考学习
    Got error: 1045:
  • 原文地址:https://www.cnblogs.com/zmh-980509/p/9890064.html
Copyright © 2020-2023  润新知