A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

听完了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();
                        }
                }
        }
}


Test1.rar

829 Bytes, 下载次数: 34

3 个回复

倒序浏览
厉害了,。你这么写不嫌累吗,嵌套来嵌套去,可以简单点实现。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
字体这么大
回复 使用道具 举报
beleveyourself 发表于 2016-10-19 14:10
厉害了,。你这么写不嫌累吗,嵌套来嵌套去,可以简单点实现。

只是想试试内部类能不能套3层{:3_67:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马