码迷,mamicode.com
首页 > 其他好文 > 详细

静态内部类(静态嵌套类或嵌套类)

时间:2020-04-18 09:33:47      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:class   mamicode   print   类实例化   你好   splay   变量   oid   image   

1、静态嵌套类

Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化

(1)静态嵌套类不是其外部类的真正成员,它与外部类级别相同

(2)静态嵌套类不能直接引用其外部类中的实例变量或方法

(3)实例创建方式:

OuterClass.StaticNestedClass nestedObject =new OuterClass.StaticNestedClass();

(4)举例

public class StaticInnerClass {
    public static class InnerClass{
        private String string="早上好";
        public  void say(){
            System.out.println(string);
        }
    }

    public void say(){
        System.out.println("你好");
    }

    public static void main(String[] args) {
        InnerClass InnerClass= new StaticInnerClass.InnerClass();
        InnerClass.say();
        StaticInnerClass staticInnerClass=new StaticInnerClass();
        staticInnerClass.say();
    }
}

 

2、内部类(成员内部类)

创建Plants内部类,外部类为Biology:

class  Biology{
    public int age;
    public String name;

    public class Plants {
        public String colour;

        public Plants(int a, String n, String c) {
            age = a;// 外部类的成员变量
            name = n;
            colour = c;// 内部类的成员变量
        }

        public void display() {
            System.out.println("植物的名字是:" + name + "\n" + "颜色为:" + colour);
        }
    }
}

测试:

public class Test {
    public static void main(String[] args) {

Biology.Plants plants = new Biology().new Plants(1, "蒲公英", "黄色");// 内部类的访问

 plants.display(); } }

技术图片

 

 可以看出,内部类的实例化需要依赖于外部类实例被实例化

 

静态内部类(静态嵌套类或嵌套类)

标签:class   mamicode   print   类实例化   你好   splay   变量   oid   image   

原文地址:https://www.cnblogs.com/zhai1997/p/12723898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!