JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Java面向对象-重写 面向对象重写跟返回值无关

wys521 2024-11-09 15:05:01 精选教程 15 ℃ 0 评论

向上造型

  • 超类型的引用指向派生类的对象
  • 能点出来什么,看引用的类型
// 超类   
Aoo o1 = new Aoo();
o1.a = 1;
o1.show();
//派生类
Boo o2 = new Boo();
o2.b = 1;
o2.test();
//超类       派生类     这种就是向上型
Aoo o3 = new Boo(); //向上造型  
o3.a = 1;
o3.show();

重写:重写方法

  • 重写与重载的区别

发生在父子类中,方法名相同,参数列表相同

重写方法被调用时,看对象的类型

  • 重写遵循"两同两小一大"原则:

两同:

方法名相同

参数列表相同

两小:

派生类方法的返回值类型小于或等于超类方法的

void和基本类型时,必须相等

引用类型时,小于或等于

派生类方法抛出的异常小于或等于超类方法的

一大:

派生类方法的访问权限大于或等于超类方法的

  • 重写与重载的区别:

重写(override):发生在父子类中,方法名相同,参数列表相同

重载(overload):发生在同一类中,方法名相同,参数列表不同

//超类
public class Person {
    String name;
    int age;
    String address;

    Person(String name, int age, String address){
        this.name = name;
        this.age = age;
        this.address = address;
    }
    void sayHi(){
        System.out.println("我叫"+name+",年龄"+age+",家住"+address);
    }
}
//派生类 重写 sayHi
public class Student extends Person{
    String stuId;

    Student(String name, int age, String address,String stuId){
        super(name,age,address);
        this.stuId =stuId;
    }
    void sayHi(){
        System.out.println("我叫"+name+",年龄"+age+",家住"+address+",学号"+stuId);
    }
}

学习记录,参考于:blog.csdn.net/jason13579

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表