思维导图
一、构造方法举例
public class MyTest {
public static void main(String[] args) {
//采用无参构造给成员变量设值
Teacher teacher = new Teacher();
teacher.setName("刘亦菲");
teacher.setAge(19);
System.out.println(teacher.getName()+"---"+teacher.getAge());
System.out.println("-------------------------");
//采用有参构造给成员变量设值
Teacher teacher1 = new Teacher("林青霞", 28);
System.out.println(teacher1.getName()+"==="+teacher1.getAge());
}
}
class Teacher {
private String name;
private int age;
//提供无参构造
public Teacher() {
}
//提供有参构造
public Teacher(String name, int age) {
this.name = name;
this.age = age;
}
//提供get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
二、对象创建内存图
三、继承与重新举例
public class MyTest {
public static void main(String[] args) {
Dog dog = new Dog();
dog.name="旺财";
dog.age=12;
System.out.println(dog.name+"==="+dog.age);
dog.eat();
dog.sleep();
System.out.println("-----------");
Cat cat = new Cat();
cat.name="汤姆";
cat.age=3;
System.out.println(cat.name+"==="+cat.age);
cat.eat();
cat.sleep();
}
}
class Animal {
public String name;
public int age;
public void eat() {
System.out.println("吃饭饭");
}
public void sleep() {
System.out.println("睡觉觉");
}
}
class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");
}
@Override
public void sleep() {
System.out.println("猫爱白天睡觉");
}
public void catchMouse() {
System.out.println("猫抓老鼠");
}
}
class Dog extends Animal{
@Override
public void eat() {
super.eat();
System.out.println("狗吃完饭,再撒个欢");
}
@Override
public void sleep() {
super.sleep();
System.out.println("睡起来去约会");
}
public void lookDoor() {
System.out.println("狗看门");
}
}
四、static关键字的内存