面向对象三大特征之继承
Posted ssxblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象三大特征之继承相关的知识,希望对你有一定的参考价值。
一、继承
使用要点:
1.父类也称作超类、基类、派生类等。
2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。(类只有单继承,接口有多继承)
3.Java中类没有多继承,接口有多继承。
4.子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
5.如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
package cn.s; public class TestExtends public static void main(String[]args) Student stu=new Student(); stu.name="sun"; stu.old=18; stu.rest(); Student stu2=new Student("@sun",18,"play"); System.out.println("我的名字是:"+stu2.name); System.out.println(stu2 instanceof Student); //用于判断该对象是否属于该类。 System.out.println(stu2 instanceof Person); System.out.println(stu2 instanceof Object); class Person String name; int old; public void rest() System.out.println("休息一会!"); class Student extends Person String major; public void study() System.out.println("学习两小时"); public Student(String name,int old,String major) //构造方法 this.name=name; this.old=old; this.major=major; public Student()
方法的重写 override
方法的重写需要符合下面的三个要点:
1.“==” :方法名、形参列表相同。
2.“<=” :返回值类型和声明异常类型,子类小于等于父类。
3.“>=” :访问权限,子类大于等于父类。
package cn.s; public class TestOverride public static void main(String[]args) Horse h= new Horse(); h.run(); class Vehicle public void run() System.out.println("快点跑"); public void stop() System.out.println("停下来"); public Person who() return new Person(); //Person 类 class Horse extends Vehicle //继承父类 public void run() //对父类方法的重写; System.out.println("已经够快了"); public Student who() //student类 return new Student(); //返回值类型子类小于等于父类
Object 类是所有java 类的根基类,也就意味着所有的java 对象都拥有Object类的属性和方法。
package cn.s; public class TestObject public static void main(String args[]) TestObject to =new TestObject(); System.out.println(to.toString()); ACP p=new ACP("sun",18); //对象 System.out.println(p.toString()); public String toString() return "测试object"; class ACP String name; int age; public String toString() //在ACP中重写toString方法 return "姓名:"+name+",年龄:"+age; public ACP(String name,int age) this.name=name; this.age=age;
以上是关于面向对象三大特征之继承的主要内容,如果未能解决你的问题,请参考以下文章