zoukankan      html  css  js  c++  java
  • java面试----1

    public class Test {
    	private String a ="d";
    	public Test(){
    		call(); //this.call();
    	}
    	public void call(){
    		System.out.println("父类的构造方法别调用"+a);
    	}
    	static class Test1 extends Test{
    		private String a = "sdf";
    		public void call(){
    			System.out.println(a);
    		}
    	}
        public static void main(String[] args){
        	Test t = new Test1();  //null
        	t.call();              //sdf
        }
    }
    

    为null的原因在于,call()方法第一次调用的时候是在创建父类的时候调用的,此时a变量还没有被赋值,所以为null

    public class Test {
    	private String a ="d";
    	public Test(){
    		call(); //this.call();
    	}
    	public void call(){
    		System.out.println("父类的构造方法别调用"+a);
    	}
    	static class Test1 extends Test{
    		private String a = "sdf";
    //		public void call(){
    //			System.out.println(a);
    //		}
    	}
        public static void main(String[] args){
        	Test t = new Test1();  //父类的构造方法别调用d
        	t.call();              //父类的构造方法别调用d
        }
    }
    

      

  • 相关阅读:
    MySQL 分组
    MySQL LIKE 子句
    MySQL DELETE 语句
    MySQL UPDATE 查询
    MySQL where 子句
    MySQL 插入数据
    MySQL 查询数据
    MySQL 删除数据表
    MySQL 创建数据表
    MySQL 数据类型
  • 原文地址:https://www.cnblogs.com/yanxiaoge/p/10708179.html
Copyright © 2011-2022 走看看