package com.wuming.oop.demo10;public class Outer {private int id=10;public void out(){System.out.println("这是外部类的方法");}public class Inner{//如class前加static,id报红,因为静态的先加载,即静态的无法访问非静态的public void in(){System.out.println("这是内部类的方法");}//获得外部类的私有属性public void getID(){System.out.println(id);}}//局部内部类public void method(){class Inner{public void in(){}}} } //一个java类中可以有多个class类,但是只能有一个public class,看接下来一行 class A{//class前加public报错public static void main(String[] args) {} }
package com.wuming.oop.demo10;public class Test {public static void main(String[] args) {//没有名字初始化类,不要将实列保存到变量中new Apple().eat();UserService userService = new UserService() {//接口可以实例化,重写里面的方法,抽象类不能实例化,子类继承后实行里面的方法@Overridepublic void hello() {}};} } class Apple{public void eat(){System.out.println("1");} } interface UserService{void hello(); }
package com.wuming.oop;import com.wuming.oop.demo08.Action; import com.wuming.oop.demo10.Outer;public class Application {public static void main(String[] args) {Outer outer = new Outer();//通过外部类实例内部类Outer.Inner inner = outer.new Inner();inner.in();//这是内部类的方法inner.getID();//10} }