继承覆写调用随笔

public class JCFX{
    static{//静态语句块最先执行
        System.out.println( "ppp" );
    }
    public static void main(String[] args){
        A aaa = new A();//没有传递参数会找对应的无参构造
        A aa = new A();//没有传递参数,所以再次找对应的无参构造
        A a = new A(101);//实例化传值,对象a的有参构造接收

        B b = new B(102);//实例化传值,对象b的构造方法接收

        a.m1();//成员方法的调用:对象名.方法名()
        aa.m2(132,123);//给实例化对象aa里面的方法m1()传值
        b.move();//调用对象b里面的方法move()
        b.m1();//调用子类继承父类的方法
        String i = b.addr;//这里是成员方法的调用,而不是继承
        System.out.println( i );
        String s = a.addr;//访问子类的成员方法
        System.out.println( s );

        System.out.println( B.id );
        System.out.println( b.id );//静态变量访问直接用 类名.变量名 , 即使用 对象名.变量名 ,底层也会转换成类名
    }
}

class A{
    static int id = 1;

    String addr = "石家庄";

    //无参构造
    A(){
        this(1000);//this()调用构造方法
    }

    //有参构造
    A(int x ){
        System.out.println( x );
    }

    public void m2(int c,int d){
        System.out.println( c+"+"+d+"="+(c+d));
    }

    public void m1(){
        int i = 10;
        i++;
        System.out.println( i );
    }

    public void move(){
        System.out.println( "方法" );
    }
}

class B extends A{
    //静态变量
    static int id = 2;

    String addr = "北京";

    B(int t){
        super(100);//super(实参)调用父类的构造方法
        System.out.println( t );
    }

    public void move(){
        //对父类方法的复写
        System.out.println( "复写父类的方法" );
    }
}

原文地址:https://www.cnblogs.com/bokexueyuan/p/4741049.html