听完了Java基础面向对象部分,觉得只有内部类这里复杂一些,所有特意自己练了练,请大神们指点{:3_64:},源码放在附件里啦~~
下面粘贴一下:
//面向对象综合练习
//三层内部类测试
class Test1 {
public static void main(String[] args) {
Student s = new Student();
s.eat();
s.sleep();
Student.Body sb = new Student().new Body();
sb.run();
Student.Body.Eye sbe = new Student().new Body().new Eye();
sbe.look();
sbe.method();
System.out.println("--------------");
}
}
//接口睡觉
interface Sleep {
//没加abstract 的抽象方法
public void sleep ();
}
//接口跑步
interface Run {
//没加public 的抽象方法
abstract void run();
}
//接口看
interface Look {
//只有void 的抽象方法
void look ();
}
//接口 生命
interface Life {
public abstract void life ();
}
//抽象人类
abstract class Person {
//抽象方法
public abstract void eat ();
}
//教师继承人类,实现睡觉接口
class Teache extends Person implements Sleep{
//重写抽象父类中的吃饭方法
public void eat (){
System.out.println("吃西餐");
}
//重写接口中的抽象方法
public void sleep (){
System.out.println("在家睡");
}
}
//小孩继承人类,实现睡觉接口
class Kid extends Person implements Sleep{
//重写抽象父类中的抽象方法吃饭
public void eat (){
System.out.println("吃零食");
}
//重写接口中的睡觉方法
public void sleep (){
System.out.println("住宿舍");
}
}
//学生继承小孩
class Student extends Kid {
//重写人类中的吃饭方法
public void eat (){
System.out.println("吃辣条");
}
//重写小孩类中的睡觉方法
public void sleep (){
System.out.println("睡上下铺");
}
//成员内部类 身体 实现 跑 接口
class Body implements Run {
//实现run接口
public void run (){
System.out.println("跑");
}
//成员内部类的成员内部类 眼睛 实现 看 接口
class Eye implements Look {
//重写look中的看方法
public void look (){
System.out.println("看");
}
public void method (){
//成员内部类中的成员内部类 中的 局部匿名内部类 实现 life接口
new Life (){
public void life (){
System.out.println("生命中重要的组成部分");
}
}.life();
}
}
}
}
|
|