目录
第一题
package homework;
public class HomeWork01 {
public static void main(String[] args) {
Car c = new Car();//创建新对象,没有实参
Car c1 = new Car(100);
//1.创建一个新的对象实例,调用无参构造器
//2.在无参构造器中price从10.0变成9.0
//3.color从white变成red
System.out.println(c);//9.0,red
//1.创建一个新对象实例c1,调用public Car(double price)这个有参构造器
//2.c1的price = 10;调用构造器,传参之后变成了100.0
//3.color是static属性,是所有Car类的对象共享的,
// Car c = new Car();之后已经变成了red,所以对象c1的color属性也是red
System.out.println(c1);//100.0 ,red
}
}
class Car {
double price = 10;
static String color = "white";//静态属性,所有对象共享
public String toString() {//重写toString方法
return price + "\t" + color;
}
public Car() {//无参构造器
this.price = 9;
this.color = "red";
}
public Car(double price) {//有参构造器
this.price = price;
}
}
考察知识点:类变量是类中所有对象共享的
第二题
package homework;
public class HomeWork02 {
}
class Frock {
private static int currentNum = 100000;
public int serialNumber;
public static int getNextNum() {
currentNum += 100;
return currentNum;
}
public int getSerialNumber() {
return serialNumber;
}
public Frock() {
this.serialNumber = getNextNum();
}
}
class TestFrock {
public static void main(String[] args) {
System.out.println(Frock.getNextNum());
System.out.println(Frock.getNextNum());
Frock frock1 = new Frock();
Frock frock2 = new Frock();
Frock frock3 = new Frock();
System.out.println(frock1.serialNumber);
System.out.println(frock2.serialNumber);
System.out.println(frock3.serialNumber);
}
}
第三题
package homework;
public class HomeWork03 {
public static void main(String[] args) {
Animal cat = new Cat();//父类引用指向子类对象
cat.shout();
Animal dog = new Dog();
dog.shout();
}
}
abstract class Animal {
public abstract void shout();
}
class Cat extends Animal {
@Override
public void shout() {
System.out.println("猫会喵喵叫...");
}
}
class Dog extends Animal {
@Override
public void shout() {
System.out.println("狗会汪汪叫...");
}
}
第四题
考察:匿名内部类
我的代码
package homework;
public class HomeWork04 {
public static void main(String[] args) {
CellPhone cellPhone = new CellPhone();
cellPhone.testWork(new Calculator() {
@Override
public void wor