8.8 上午 第13天上课 java
总结作业;
public class Test{
public static void main(String[] args) {
Student s = new Student("高淇",172,"Java");
s.rest();
s.study();
}
}
class Person {
String name;
int height;
public void rest(){
System.out.println("休息一会!");
}
}
class Student extends Person {
String major; //专业
public void study(){
System.out.println("在尚学堂,学习Java");
}
public Student(String name,int height,String major) {
//天然拥有父类的属性
this.name = name;
this.height = height;
this.major = major;
}
}
package cn.zzsxt.oop2;
/**
*继承:在程序中继承代表了一种is-a关系(如果A是B,那么A继承了B)
*在java中使用extends关键字实现继承关系
* class A extends B{
* }
* java中的继承是"单继承",一个类只能拥有一个直接父类。在C++中一个类可以继承多父类
* 继承的优点:提高的代码的复用性
* 子类继承父类之后,就拥有了父类的属性和方法,但是父类的构造方法不能被子类继承。
* Object是所有类的父类(基类),当一个类没有显式继承其他类时,该类默认继承Object--->所有类的"祖先"
* ctr+t:查看类的结构树
*
* instanceof运算符:判断指定对象是否为特定类型的实例。
* 语法: 对象名称 instanceof 类型
*/
public class TestExtends {
public static void main(String[] args) {
Student student = new Student();
student.name="张三";
student.age=40;
student.major="java开发";
student.intro();//从父类继承而来
student.eat();//从父类继承而来
student.study();//子类特有的方法
System.out.println("------------------");
Student student2 = new Student("张小三",20,"php开发");
student2.intro();
// student2.toString();//来自Object
System.out.println(student instanceof Student);
System.out.println(student instanceof Person);
System.out.println(student instanceof Object);
}
}
//父类
class Person{
String name;
int age;
public void intro() {
System.out.println("我的名字叫:"+name+",芳龄:"+age);
}
public void eat() {
System.out.println("我正在吃法式大餐!");
}
}
//子类
class Student extends Person{
String major;//专业
public Student() {
}
public Student(String name,int age,String major) {
this.name=name;//从父类继承而来
this.age=age;
this.major=major;
}
public void study() {
System.out.println("我是学生,我爱学习!");
}
}