设为首页 加入收藏

TOP

Java面向对象之内部类(访问格式)
2018-05-21 15:48:53 】 浏览:107
Tags:Java 面向 对象 之内 部类 访问 格式

一、基础概念


1.内部类是定义在类中的类。A类需要直接访问B类中的成员时,可以将A类定义到B类中,作为B类的内部类存在。


2.内部类可以相当于外部类中的一个成员,可以被成员修饰符所修饰。(如:public private static)


3.静态内部类可以相当于一个外部类进行使用。


4.非静态的内部类只允许定义静态的常量,不能定义其他静态成员。


5.访问规则:


内部类可以直接访问外部类中的成员,因为内部类持有了外部类的引用。外部类名.this


外部类要访问内部类需要创建内部类的对象。


二、实例代码


//外部类Outer
class Outer
{
    private static int num = 4;
   
    //内部类Inner_1
    class Inner_1
    {
       
        void show1()
        {
            System.out.println("内部类Inner_1 ,show1  "+num);//内部类Inner_1可以直接访问外部类Outer中的成员num
        }
    }
   
    //外部类中的方法Method访问内部类Inner_1中的方法show1
    public void Method()
    {
        Inner_1 in = new Inner_1();
        in.show1();
    }
   
    //静态内部类Inner_2
    static class Inner_2
    {
        void show2()
        {
            System.out.println("内部静态类Inner_2 ,show2  "+num);
        }
        static void show3()
        {
            System.out.println("内部静态类Inner_2 ,show3  "+num);
        }
    }
   
    class Inner_4
    {
        static final int count = 5;    //内部类中定义静态的常量
        void show4()
        {
            System.out.println("内部类Inner_4 ,show4  "+count);
        }
    }
}


class InnerClassDemo
{
    public static void main(String[] args)
    {
        //创建外部类对象,访问内部类。
        Outer out = new Outer();
        out.Method();
       
        //创建非静态的内部类对象,可以通过创建外部类对象,被外部其他程序访问。
        Outer.Inner_1 i1 = new Outer().new Inner_1();
        i1.show1();
       
        //创建静态内部类对象,并访问非静态成员。
        Outer.Inner_2 i2 = new Outer.Inner_2();
        i2.show2();
       
        //创建静态内部类对象,并访问静态成员。
        Outer.Inner_2.show3();
        Outer.Inner_2 i4 = new Outer.Inner_2();
        i4.show3();
       
        //创建非静态的内部类对象,并访问静态变量。
        Outer.Inner_4 i5 = new Outer().new Inner_4();
        i5.show4();
    }
}



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Shell编程基础之逻辑运算理解 下一篇Python中split()函数的使用方法详..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目