黑马程序员技术交流社区

标题: 总结的java知识点 [打印本页]

作者: 读书少,表骗我    时间: 2016-5-25 00:54
标题: 总结的java知识点
32:多态的好处及弊端?如何解决多态的弊端。
;
好处:提高了程序的可维护性(前提要有继承保证),和扩展性。
  
弊端:不能使用子类的特有功能。




33:什么是抽象类?抽象类的特点和好处是什么?

相同的方法,有相同方法的声明,但是方法体不一样,只抽取方法声明的方法,叫做抽象方法,有抽象方法的类,叫做抽象类。

特点:
        A:类或者方法必须用abstract修饰。
        B:具体类在继承抽象类的时候,要么本身也是抽象类,要么实现抽象类中的所有抽象方法。
        C:抽象类不能被实例化。要想使用,必须按照多态的方式使用。
        D:成员特点:
                a:成员变量
                        可以是变量,也可以是常量。
                b:构造方法
                        有构造方法,但是不能实例化。
                        用于子类访问父类数据的初始化。
                c:成员方法
                        可以有抽象方法也可以有非抽象方法。

好处:
        A:限定子类必须实现某些功能。
        B:提高代码的复用性。


抽象类的几个问题:

        A:抽象类不能实例化,构造方法有什么用。
                用于子类访问父类数据的初始化。

        B:抽象类没有抽象方法,有什么意义?
                限制创建对象。
       
        C:abstract不能和哪些关键字共存?
                final: 冲突
                private: 冲突
                static: 无意义




34:什么是接口? 接口的特点?

如果一个抽象类中的方法全部是抽象方法,那么java就针对这种类型的抽象类,给出了一个更抽象的表达式:接口。

特点:
        A:所有的方法,都是抽象方法。
        B:类实现接口
                要么本身是抽象类,要么重写接口中的抽象方法。
        C:接口不能被实例化,要想使用,用多态。
        D:成员特点
                a:成员变量
                        只有常量,并且是静态常量。默认修饰符:public static final
                b:构造方法
                        没有构造方法,子类数据的初始化默认走的是Ojbect类的构造方法
                c:成员方法
                        全部是抽象的,有默认修饰符:public abstract




35:抽象类和接口的区别? (*面试题)

A:成员区别
        抽象类:
                成员变量:可以是变量,也可以是常量。
                构造方法:有。
                成员方法:有,可以是抽象的,也可以是非抽象的。

        接口:
                成员变量:只能是常量。默认修饰符:publci static final
                构造方法:没有,子类数据的初始化默认走的是Ojbect类的构造方法。
                成员方法:只能是抽象的,默认修饰符是:public abstract

B:类与接口的关系区别
        类与类:
                继承关系,单继承。
       
        类与接口:
                实现关系,单实现、多实现。

        接口与接口:
                继承关系,单继承、多继承。

C:设计理念的区别
        抽象类被继承体现的是:is a的关系。抽象类中一般定义的是整个继承结构的共性功能。
        接口被实现体现的是:like a的关系。接口中一般定义的是整个继承结构的扩展功能。



36,什么是内部类?有什么特点?

把类定义在其他类的内部,就被称为内部类。

内部类的访问特点:
                A:内部类可以直接访问外部类的成员,包括私有。
                B:外部类要访问内部类的成员,必须创建对象。



37,为什么内部类访问局部变量必须加final修饰?(*面试题)

        A: 防止在使用后数据发生改变。
        B: 延长变量的生命周期。
38,什么是匿名内部类?本质是什么?

匿名内部类就是没有名字的内部类。

格式:       
        new 类名或者接口名() {
                重写方法;
        };

本质:是继承类或者实现接口的子类匿名对象。




39,==和equals()的区别? (*面试题)
       
        A:==
                a:基本类型 比较的是基本类型的值
                b:引用类型 比较的是引用类型的地址值
        B:equals()
                只能比较引用类型。
                默认比较地址值。



40,什么是字符串?字符串的特点是什么?

字符串:由多个字符组成的一串数据。

特点:一旦被赋值就不能被改变。(*面试题)
        注意:这里指的是字符串的内容不能发生改变。而字符串的引用是可以再次赋值的。

作者: 骄阳登峰    时间: 2016-5-25 02:03
来看看,学习下
作者: 读书少,表骗我    时间: 2016-5-27 00:24
骄阳登峰 发表于 2016-5-25 02:03
来看看,学习下

嗯嗯  共同进步




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2