美文网首页
随笔(6)java--内部类--静态和动态方法

随笔(6)java--内部类--静态和动态方法

作者: 地表最强程序员小白 | 来源:发表于2017-11-17 22:58 被阅读12次
    public class innerclasstest {
        private int i=5;
        public class inner{
            int geti(){
                return i;
            }
        }
        public static void main(String[] args){
            inner in=new inner();
            System.out.println(in.geti());
            //这里出现错误  java: 无法从静态上下文中引用非静态 变量 this
            //这是因为内部类一定是public的
            (因为如果private的话,外部类无法使用),
             而main方法是static,所以静态方法无法调用动态方法
        }
    }
    

    修改后(把内部类和内部类所引用的外部类的变量声明为静态)

    public class innerclasstest {
         static int i=5;
        public static class inner{
            int geti(){
                return i;
            }
        }
        public static void main(String[] args){
            inner in=new inner();
            System.out.println(in.geti());
        }
    }
    

    相关文章

      网友评论

          本文标题:随笔(6)java--内部类--静态和动态方法

          本文链接:https://www.haomeiwen.com/subject/tzusvxtx.html