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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

、多态是什么,多态的前提条件是什么?
答:
        多态是事物存在的多种形态
        a.要有继承关系
        b.要有方法继承
        c.要有父类引用指向子类对象
2、多态中成员访问的特点分别是什么?
        成员变量
答:
        编译看左边,运行看左边
        成员方法(非静态方法)
        编译看左边,运行看右边
        静态方法
        编译看左边,运行看左边

3、多态的好处和弊端分别是什么?
答:
好处:
        提高了代码的维护性和扩展性
弊端:
        不能使用子类特有的属性和行为

4、什么是向上转型,什么是向下转型?
答:
        eg:Person p=new Superman();向上转型
            Superman sm=(Superman)p;向下转型
       
5、什么是抽象类,它的特点是什么?
答:
        抽象类就是看不懂的、不具体的类
        a.抽象类和抽象方法必须用abstract关键字修饰
        b.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者接口
        c.抽象类的子类
                1、是抽象类
                2、重写抽象类中所有抽象方法(推荐方案)
6、抽象类的成员特点有哪些?
答:
        a.成员方法:可以是抽象方法,也可以是非抽象方法
        b.成员变量:既可以是变量,也可以是常量,不能用abstract关键字
        c.构造方法:有,用于初始化父类的数据,不能使用abstract关键字

7、抽象类的面试题:
        A、一个类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
答:
        可以,这样做的目的只有一个就是不让其他类创建子类对象,交给子类完成
        B、abstract不能和哪些关键字共存,为什么?
答:
        不能和static、final、private关键字共存
abstract与static:
        abstract修饰的方法没有方法体,static修饰的方法可以用类名.方法直接调用
abstract与final:
        abstract修饰的方法强制子类进行方法重写
        final修饰的方法不能被重写
abstract与private:
        abstract修饰是为了让子类看到,并重写
        private修饰只能在本类中访问,不让子类访问       

8、什么是接口,它的特点是什么?
答:
        狭义讲就是java中的interface,广义讲对外提供规则的都是接口
特点:
        a.接口用关键字interface表示  interface Inter{}
        b.类实现用implements表示     class Demo implements Inter{}
        c.接口不能实例化,必须通过多态的方式才能实现
        d.接口的子类可以是抽象类,但是意义不大;可以是具体类,但是必须重写接口中所有的抽象方法

9、接口的成员特点有哪些?
答:
        成员变量:只能是常量并且是静态并公开的 public static final...
        构造方法:接口没有构造方法
        成员方法:只能是抽象方法
                默认修饰符:abstract
                建议自动给出
10、抽象类和接口的区别是什么?
答:
        抽象类:
                成员变量:可以是常量也可以是变量
                构造方法:有
                成员方法:可以是抽象,也可以是非抽象
        接口:
                成员变量:只能是常量
                构造方法:没有
                成员方法:必须是抽象的

11、根据需求,完成如下代码(按照标准格式写),并在测试类中进行测试。
        需求一:
                具体事物:基础班老师,就业班老师
                共性:姓名,年龄,讲课。
                特性:
                        基础班老师讲JavaSE
                        就业班老师讲Android
答:
        package test;

/*需求一:
具体事物:基础班老师,就业班老师
共性:姓名,年龄,讲课。
特性:
        基础班老师讲JavaSE
        就业班老师讲Android*/
public class TeacherDemo {
        public static void main(String[] args) {
                BaseTeacher bt = new BaseTeacher("张三", 23);
                System.out.println(bt.getName() + "-----" + bt.getAge());
                bt.teach();
                WorkTeacher wt = new WorkTeacher("李四", 24);
                System.out.println(wt.getName() + "-------" + wt.getAge());
                wt.teach();
        }
}

abstract class Teacher {
        private String name;
        private int age;

        public Teacher() {
        }

        public Teacher(String name, int age) {
                this.name = name;
                this.age = age;
        }

        public void setName(String name) {
                this.name = name;
        }

        public String getName() {
                return name;
        }

        public void setAge(int age) {
                this.age = age;
        }

        public int getAge() {
                return age;
        }

        public abstract void teach();

}

class BaseTeacher extends Teacher {
        public BaseTeacher() {
        }

        public BaseTeacher(String name, int age) {
                super(name, age);
        }

        public void teach() {
                System.out.println("讲JavaSE");
        }
}

class WorkTeacher extends Teacher {
        public WorkTeacher() {
        }

        public WorkTeacher(String name, int age) {
                super(name, age);
        }

        public void teach() {
                System.out.println("讲Android");
        }
}

6 个回复

倒序浏览
的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
顶顶顶!!!!!!!!!!一起成长!
回复 使用道具 举报
加油吧骚年
回复 使用道具 举报
大山的伤 发表于 2016-4-23 23:41
顶顶顶!!!!!!!!!!一起成长!

加油吧,少年
回复 使用道具 举报
给力,要坚持下去啊,一起努力吧
回复 使用道具 举报
冰刃 发表于 2016-4-24 18:50
给力,要坚持下去啊,一起努力吧

努力,加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马