面向对象三大特征之继承转载
原创一、继承
使用点。使用要点。使用要点。
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;
}
}
super父对象引用-继承树跟踪问题
转载于:https://www.cnblogs.com/ssxblog/p/11181753.html
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除