知识点汇总
1.继承性
2.重写
3.四种权限修饰符 private、缺省、protected、public权限由小到大,public在同一个工程下都可以调用,protected在同一个包下可调用
4.super关键字的使用
调用属性和方法、调用构造器使用super(形参列表)的方式调用父类中声明的 指定的构造器,必须声明在子类构造器的首行
代码示例:
public class OverWriteTest extends animal{
//子类构造器声明
public OveWriteTest(int age,String name) {
//调用父类中的有参构造器
super(age,name);
}
//重写父类方法示例
public void run() {
System.out.println("动物跑");
}
//
}
class animal{
//私有属性
private int age;
private String name;
private String gender;
//创建构造器
public animal() {
//无参构造器
}
public animal(int age,String name){
this.age=age;
this.name=name;
}
//创建set、get方法
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
//创建父类方法
public void run(){
System.out.println("动物需要跑");
}
}
多态性:
对象的多态性 父类的引用指向子类的对象(或子类的对象赋给父类的引用)。
多态的使用:虚拟方法调用,有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期我们实际执行的是子类重写父类的方法(总结:编译看左边,运行看右边)
对象的多态性只适用于方法不适用于属性(编译和运行都看左边)
创建Human类
public class Human {
//属性
int age;
String name;
//创建方法
public void run(){
System.out.println("人都要走路");
}
public void eat(){
System.out.println("人要吃饭");
}
public void sleep(){
System.out.println("人都要睡觉");
}
}
创建Man类继承与Human
public class Man extends Human {
//重写方法
public void eat(){
System.out.println("男生喜欢吃肉");
}
public void run() {
System.out.println("男生跑的快");
}
}
main方法测试:
public class HumanTest {
public static void main(String[] args) {
//创建实例
Human human=new Human();
human.eat();
human.run();
System.out.println("****************************");
//多态性示例练习
Human m1=new Man();
m1.run();
m1.eat();
}
}
输出结果为:
人要吃饭
人都要走路
****************************
男生跑的快
男生喜欢吃肉
注意:在我们谈论多态性的时候它的前提是必须基于继承性的。