一:面向对象
方法的形式参数是类名的时候如何调用
A:Java中参数传递问题
形式参数
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
B:方法的参数是类名
如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。
二:继承
例:写一个动物类,猫和狗可以继承他的成员变量和成员方法,但是也可以有自己私有的成员,也可以对方法进行重写。
public class Animal {
String name;
int age;
public void eat(){
System.out.println("吃饭");
}
public void sleep() {
System.out.println("睡觉");
}
public void run(){
System.out.println("跑步");
}
}
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫爱吃鱼");
}
@Override
public void run() {
System.out.println("猫是猫步");
}
public void catchMouse(){
System.out.println("猫抓老鼠");
}
}
public class Dog extends Animal{
@Override
public void eat() {
System.out.println("狗爱吃骨头");
}
public void lookDoor(){
System.out.println("狗看门");
}
}
public class Test {
public static void main(String[] args) {
Cat cat = new Cat();
cat.age = 2;
cat.name = "不让";
System.out.println("名字:" + cat.name);
System.out.println("年龄:" + cat.age);
cat.catchMouse();
cat.eat();
cat.run();
cat.sleep();
Dog dog = new Dog();
dog.age = 1;
dog.name = "让不让";
System.out.println("名字:" + dog.name);
System.out.println("年龄:" + dog.age);
dog.lookDoor();
dog.eat();
dog.run();
dog.sleep();
}
}
运行结果:
名字:不让
年龄:2
猫抓老鼠
猫爱吃鱼
猫是猫步
睡觉
名字:让不让
年龄:1
狗看门
狗爱吃骨头
跑步
睡觉
Process finished with exit code 0
注释:子类可以继承父类非私有的成员,但是无法继承父类的构造方法,可以对父类的方法进行重写,且重写后子类的权限不能低于父类的权限,最好保持一致。
方法重写:子类中出现了和父类中一模一样的方法声明(方法名,参数列表,返回值类型),也被称为方法覆盖,方法复写。