• extends继承


    extends   继承
    如何使用?
    class A{
        int x;
     
        public void setX(int x){this.x = x;}
        public int getX(){return x;}
        public String toString(){return "A类的实例,x属性的值是:"+x;}
     
        public A(){x=10;}
        public A(int x){this.x = x;}
    }
    //B类继承A类,A类是B类的父类(superClass,BaseClass)
    //B类是A类的子类(派生类,subClass, childClass)
    class B extends A{
        int y;
        public void setX(int x){this.x = x;}
        public int getX(){return x;}
    }
    作用:
        子类继承父类所有属性和方法,构造器不能继承.
        new子类对象时,总是先new父类对象。
     
    好处:
        1.代码复用
        2.子类可以扩展新的属性和方法
     
     
        构造器不能继承但new子类对象时,总是先new父类对象。
        默认调用父类的无参构造器,
        如果要显式调用父类指定构造器,使用super([参数])调用.
        super()必须注意:在构造器中只能是第一行代码,并且只能用一次。
     
     
    class A{
        public A(int x, int y, String str){...}
    }
    class B{
        public B(){
            super(10,20,"abc");
        }
        public B(int x, int y){
            super(x,y,"abc");
        }
        public B(int x,int y, String s){
            super(x,y,s);
        }
    }
     
     
     
    public class Pointer2D{
        int x,y;
        public Pointer2D(){}
        public Pointer2D(int x, int y){
            this.x=x;
            this.y = y;
        }
        main{
            Pointer2D p1 = new Pointer2D();
            Pointer2D p2 = new Pointer2D(10,20);
     
        }
     
    }
    public class Pointer3D extends Pointer2D{
        int z;
    }
     
     
     
    static 与对象无关
    类的组成成员
    class 类{
        对象属性成员
        类属性   
     
        代码块   
        静态代码块   
     
        构造器
     
        非静态方法
        静态方法
     
        内部类
    }
    ======================================================
    extends   继承
    如何使用?
    class A{
        int x;
     
        public void setX(int x){this.x = x;}
        public int getX(){return x;}
        public String toString(){return "A类的实例,x属性的值是:"+x;}
     
        public A(){x=10;}
        public A(int x){this.x = x;}
    }
    //B类继承A类,A类是B类的父类(superClass,BaseClass)
    //B类是A类的子类(派生类,subClass, childClass)
    class B extends A{
        int y;
        public void setX(int x){this.x = x;}
        public int getX(){return x;}
    }
    作用:
        子类继承父类所有属性和方法,构造器不能继承.
        new子类对象时,总是先new父类对象。
     
    好处:
        1.代码复用
        2.子类可以扩展新的属性和方法
        构造器不能继承但new子类对象时,总是先new父类对象。
        默认调用父类的无参构造器,
        如果要显式调用父类指定构造器,使用super([参数])调用.
        super()必须注意:在构造器中只能是第一行代码,并且只能用一次。
     
    super关键字,除了可以调用在构造器中调用父类构造器之外,还可调用父的属性和方法.
     
    this关键字:
        1.this([参数列表])表示当前类的构造器,super([参数列表])表示父类的构造器.
        2.this.属性或this.方法()表示引用当前类的对象的属性或方法;super.属性或super.方法()表示引用父类的对象的属性或方法;
     
    class Demo{
        int x;
        public Demo(){
            super();
            this(0);
            //调用下面带参的构造器,作用类似于this.x=0;
        }
        public Demo(int x){
            this.x = x;
        }
    }
    //重载,重写,抽象类,终态类
     
     

     
     
    cl      ass A{
            String s="class A"; 
          void show(){
                 System.out.println(s);
    }
     }
     class B extends A{
         String s="class B";   
          void show() {
                 System.out.println(s);
    }
    }
     public class TypeConvert{
           public static void main(String args[]){
                  B b1;
    B b2=new B();
                  A a1,a2;
                  a1=(A)b2;子类强制转换成父类是 方法是父类,属性是子类的
                  a2=b2;
                  System.out.println(a1.s);class A
            a1.show();class B
                  System.out.println(a2.s);class A
            a2.show();class B
                  b1=(B)a1;父类强制转换成子类是方法重写了,属性重写
                  System.out.println(b1.s);class B
             b1.show();class B
                  System.out.println(b2.s);class B
                b2.show();class B
           }
     }
    class A
    class B
    class A
    class B
    class B
    class B
    class B
    class B
  • 相关阅读:
    python编程设计模式之接口类和抽象类
    python进阶之面向对象初识
    python进阶之异常处理
    python模块之包
    python模块之序列化模块
    python基础二 ---类型转换 ,字符串,列表,元祖,for,range,enumerate
    python基础一
    TCP协议的三次握手
    随机数Math.random()
    Vue.js内部响应式原理探究
  • 原文地址:https://www.cnblogs.com/zachary7/p/8191501.html
Copyright © 2020-2023  润新知