Java基础篇---封装,继承,多态一:面向对象

方法的形式参数是类名的时候如何调用
	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

注释:子类可以继承父类非私有的成员,但是无法继承父类的构造方法,可以对父类的方法进行重写,且重写后子类的权限不能低于父类的权限,最好保持一致。
方法重写:子类中出现了和父类中一模一样的方法声明(方法名,参数列表,返回值类型),也被称为方法覆盖,方法复写。

相关文章: