zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    BZOJ 3744 Gty的妹子序列
    BZOJ 3872 Ant colony
    BZOJ 1087 互不侵犯
    BZOJ 1070 修车
    BZOJ 2654 tree
    BZOJ 3243 向量内积
    1003 NOIP 模拟赛Day2 城市建设
    CF865D Buy Low Sell High
    CF444A DZY Loves Physics
    Luogu 4310 绝世好题
  • 原文地址:https://www.cnblogs.com/zachary7/p/8191501.html
Copyright © 2011-2022 走看看