首页 > 编程 > Java > 正文

Java--内部类

2019-11-08 01:06:48
字体:
来源:转载
供稿:网友

内部类访问特点 

      内部类可以直接访问外部类的成员,包括私有。

      外部类要访问内部类的成员,必须创建对象。 

      外部类名.内部类名对象名 =外部类对象.内部类对象;

成员内部类被静态修饰后的访问方式是:

    外部类名.内部类名对象名 =外部类名.内部类对象;

class InnerClass{	public static void main(String[] args){		Outer.InnerA io = new Outer().new InnerA();		io.PRint();		Outer o = new Outer();		o.printB();	}}class Outer{	class InnerA{		public void print(){			System.out.println("内部类");		}	}	private class InnerB{		public void print(){			System.out.println("内部类-B");		}	}	public void printB(){		InnerB ib = new InnerB();		ib.print();	}}

匿名内部类使用:

class NoNameInner{	public static void main(String[] args) {		PersonDemo pd = new PersonDemo();		// pd.method(new StudentA());或者如下        pd.method(new Person(){            //匿名内部类当做参数传递(本质把匿名内部类看做一个对象)        	public void show(){            //可以把new Person(){}看做一个子类对象,对方法进行重写				System.out.println("show--heiha");	       }        });        Outer.method().show();	}}abstract class Person{	public abstract void show();}class PersonDemo{	public void method(Person p){		p.show();	}}class StudentA extends Person{	public void show(){		System.out.println("show");	}}interface Inter { 	void show(); }class Outer {  	public static Inter method(){ 		return new Inter(){ 			public void show(){ 				System.out.println("Hello,Inter!"); 			} 		}; 	}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表