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

内部类

时间:2021-03-30 13:02:50      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:read   必须   href   targe   str   使用   写代码   tar   class   

定义一个内部类,直接将内部类定义在外围类的里面。

interface yu{
    void sout();
}

public class lc_2 {

    public int num1;
    private int num2;

    class innerClass implements yu{
        public innerClass(){
            num1 = 1;
            num2 = 2;
        }

        @Override
        public void sout() {
            System.out.println(num1);
        }
    }
}

以上代码可以看出

1.内部类可以独立的继承一个接口的实现
2.内部类拥有外部类的访问权限,不管是public,还是private

内部类包含这四种:成员内部类、局部内部类、匿名内部类和静态内部类

其他详细介绍:http://www.cnblogs.com/dolphin0520/p/3811445.html

匿名内部类:匿名内部类应该是平时我们编写代码时用得最多的,在编写事件监听的代码时使用匿名内部类不但方便,而且使代码更加容易维护

匿名内部类还有个前提条件:必须继承一个父类或实现一个接口

//eg1
abstract class Person {
    public abstract void eat();
}
 
public class Demo {
    //如果不使用匿名就得实现一个继承Person的类
    public static void main(String[] args) {
        Person p = new Person() {
            public void eat() {
                System.out.println("eat something");
            }
        };
        p.eat();
    }
}

//eg2 在多线程中还有Thread,Runnable接口
public class Demo {
    public static void main(String[] args) {
        Thread t = new Thread() {
            public void run() {
                for (int i = 1; i <= 5; i++) {
                    System.out.print(i + " ");
                }
            }
        };
        t.start();
    }
}

内部类

标签:read   必须   href   targe   str   使用   写代码   tar   class   

原文地址:https://www.cnblogs.com/zengxy99/p/14589126.html

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