大纲
- 关于继承的实现
- instanceof的使用
笔记
继承extends
Extends的意思就是“扩展”,子类是父类的扩展,子类会拥有父类拥有的方法,变量,属性等…
继承使用的要点:
1.父类也被称为超类,基类,派生类等;
2.Java中只有单继承类,没有想c++中那样的多继承,多继承会引起混乱,使得继承链过于复杂,系统难以维护。
3.Java中类没有多继承,接口有多继承。
4.子类继承父类,可以得到父类全部属性和方法(除了父类的构造方法),当不见得可以直接访问(比如父类私有的属性和方法)
5.如果定义一个类时,没有调用extends,则它的父类是java.lang.Object
instanceof运算符:
Instanceof运算符是二元运算符,左边是对象,右边是类;当对象是右边类或子类时,返回true;否则返回false。
代码
package com.L.oo2;
/**
- 测试extends(继承)的使用
- @author L
*/
public class TestExtends {
public static void main(String[] args) {
Student stu = new Student();//为什么没有手写构造器的时候这里会报错?
stu.name=“L”;
stu.height=170;
stu.rest();
Student stu2 = new Student("毛毛",7,"土木工程专业");
System.out.println(stu instanceof Student);
}
}
class Person{
String name;
int height;
public void rest() {
System.out.println("休息一会");
}
}
class Student extends Person{
//String name; 这两个属性可以从父类继承
//int height;
String major;
public void study() {
System.out.println("学习一会");
}
public Student(String name,int height,String major) {
this.name = name;
this.height = height;
this.major = major;
}
public Student() {//难道在定义了对象的构造器之后,编译器就不会自动定义默认的构造器了?
}
}
/*class student{
String name;
int height;
String major;
public void study() {
System.out.println("学习一会");
}
}*/