您的位置:首页 > 编程语言 > Java开发

java常见的问题

2016-02-14 15:40 429 查看
1. 接口与抽象类的区别?

抽象类:含有abstract修饰的class即为抽象类abstract类不能创建实例对象,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有 方法,那么,子类也必须定义为抽象类

接口:接口是特殊的抽象类.接口中的所有方法都必须是抽象的,接口中的方法定义默认为public abstract 。接口中的变量是全局常量,即public static final修饰的。

区别: 1)一个类可以实现多个接口,但只能继承一个抽象类.

2)抽象类中可以有普通方法和构造方法,但是接口只含有抽象方法.

3)抽象类中可以有普通成员变量,而接口中不能有普通成员变量。

4)修饰上:抽象类的抽象方法可以是public,protected.而接口只能是public

5)抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。

2. 整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换 为int,所以,这些类型以及这些类型的 包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型

(即:范围小的可以扩大,而大的范围不可以缩小.1.0 -->1.00 1.01-->1.0(错了))

3.

只有记住抽象类与普通类的唯一区别:就是不能创建实例对象和允许有abstract方法。

4.

   class A{
public A(String s) {
System.out.println("A....");
}
}

class B extends A {
public B(){
super("bbb..."); //a
}
}

子类必须使用super调用父类中构造方法,如果父类中含有无参的构造方法可以使用隐式调用,如果父类中不包含无参的构造方法的时候我们必须显示的调用有参的构造方法。

5.[b]面向对象的特征有哪些方面[/b]

封装:即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变(属性用变量定义,行为用方法进行定义)

抽象:

抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物 的相似和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有 关的方面。

继承:

在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类 所定义的内容作为自己的内容, 并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软 件的可重用性和可扩展性

多态:

多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: