问答详情
源自:7-1 什么是 Java 中的封装

问一下有关private的问题

http://img4.mukewang.com/5a3e87600001a8f806070439.jpg

mian方法也在tel这个类中啊 private只能在同一个类同调用,为什么报错!!求指点

提问者:斗胆请问大侠 2017-12-24 00:44

个回答

  • xcopfans
    2018-01-22 20:08:22
    已采纳

    因为 main() 方法也是静态方法,不能调用非静态的东西,你要实验 private 的使用要这样:

    public class Tel{
    
        private int a = 1;
        
        public static void main(String[] args){
            Tel tel = new Tel();
            System.out.println("a:"+tel.a);
        }    
    
    }
    
    class Tel2{
        
        public static void main(String[] args){
            Tel tel = new Tel();
            System.out.println("a:"+tel.a);  //这时候由于private权限,无法访问a
        }
    
    }


  • vnvn
    2018-01-05 10:23:54

    通过外部类名.this.属性

  • imCanon
    2017-12-24 14:17:48

    在静态方法中,要访问非静态成员,就需要用    对象.属性    的方式去访问。