代码展示
package inner;
public class outer {
int i =1;
public void test(){
System.out.println("这是外部类");
}
//成员内部类
class inner{
int j = 2;
public void innertest(){
System.out.println("现在是内部类了");
}
public void showouter(){
test();
}
}
}
package inner;
public class test {
public static void main(String[] args) {
//创建外部类对象
outer outer = new outer();
//创建内部类对象
outer.inner inner =outer.new inner();
//调用方法
outer.test();
inner.innertest();
inner.showouter();
}
}
运行结果
package inner;
public class outer2 {
//打印这是外部类
public void test(){
System.out.println("这是外部类");
}
public void test2(){
//定义内部类
class inner{
public void innertest(){
System.out.println("现在是局部内部类");
}
}
//创建对象
inner inner = new inner();
//调用方法
inner.innertest();
}
}
结果
例题二
建立Driver,含方法drive,参考中间的方式使用匿名输出 老司机会漂移
建立接口Student,含study,使用匿名内部类输出 学生太爱学习了
package ctrl;
public interface Driver {
void driver();
}
package ctrl;
public class test {
public static void main(String[] args) {
Driver dir =new Driver(){
public void driver(){
System.out.println("老司机会漂移");
}
};
dir.driver();
Driver dir2 =new Driver(){
public void driver(){
System.out.println("老司机会漂移");
}
};
dir2.driver();
}
}
package xsy;
import ctrl.Driver;
public class study {
public static void main(String[] args) {
Driverdriver(new Driver(){
public void driver(){
System.out.println("学生太爱学习了");
}
});
}
public static void Driverdriver(Driver dir){
dir.driver();
}
}
练习
创建接口s1,含方法chengfa,接受三个参数
创建lambda语句,lambda体内打印三个参数相乘 的积
package sss;
public interface s1 {
void chengfa();
}
package sss;
public class s2 {
public static void main(String[] args) {
// animals ani =() -> System.out.println("汪汪汪");
// ani.shout();
// num<Integer> n = (x) -> System.out.println(x);
//
// n.shouwnum(66);
s3<Integer> n=(x,y,z) ->{
System.out.println("接受三个参数");
System.out.println(x*y*z);;
};
n.plus(12,13,14);
}
}
package sss;
public interface s3 <T>{
void plus(T a,T b,T c);
}