java程序员面试题day02
1.类和对象有什么区别?
java中的类通过class关键字进行定义,代表的是一种抽象的集合,在类中可以定义各种的属性和方法,代表的是每一个类的实例的特定的数据和动作,java虚拟机对类仅仅加载一次,对类中的静态成员也仅仅加载一次。
对象指的是某一个特定抽象的实例,它属于某一种类型,也就是对象是通过类来确定的,它必须从属于某个类,通过new关键字进行创建,代表的是一个特定类型的实例,对象可以被多次的创建。
类是一种抽象,对象是类的具体实现。
2.java中如何利用继承来重用代码?
首先,java中的继承只有单继承,也就是子类只能去继承一个父类,而不能继承多个父类,子类中对父类的方法进行覆盖,在子类中定义一个和父类方法名相同的方法就可以参数类型和返回值类型保持一致。这种手段也叫方法覆盖(重写)。
通过继承,子类就拥有父类除开私有成员的所有的成员,对于方法上,子类可以使用多态,让子类拥有自己的独特的方法实现方式。
3.谈谈一下java中的多态?
多态的本质在于,发送消息给某个对象,让该对象自行决定去响应何种行为,通过将子类对象的引用赋值给超类对象的引用变量来实现动态方法的调用。
1 packagetest;2
3 classMan {4
5 public int eyes = 2;6
7 voidgetEyesColor() {8
9 System.out.println("父类眼睛颜色");10
11 }12
13 }14
15 class Asian extendsMan {16
17 voidgetEyesColor() {18
19 System.out.println("black eyes");20
21 }22
23 }24
25 class Euro extendsMan {26
27 voidgetEyesColor() {28
29 System.out.println("blue eyes");30
31 }32
33 }34
35 public classMain {36
37 public static voidmain(String[] args) {38
39 Man man1 = newAsian();40
41 Man man2 = newEuro();42
43 man1.getEyesColor();44
45 man2.getEyesColor();46
47 }48
49 }
4.介绍下java中静态成员的特点?
类的静态成员是指用static修饰的成员,包括静态成员变量,静态方法,静态代码块.
共同的特点是:
<1>在类的加载时进行创建和初始化或者执行代码;
<2>对于一个类而言,都只有一份;
<3>类的所有的实例都可以访问到他们。
一个例子:
1 packagetest;2
3 public classMain {4
5 static int a=5;6
7 public static voidtestMethod(){8
9 System.out.println("static method testing");1