java中继承使用extends。子类可以使用父类的特性。
1.java中的接口,有多继承。类只有单继承。
2.子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)。但不见得可以直接访问(例如:父类私有的属性和方法。)
3.如果定义一个类时,没有调用extends,则它默认的父类是Object
4.查看类的继承结构,可以使用ctrl+t。这是在eclipse中。
instanceof是二元运算符,左边是对象,右边是类。当对象是右面类或子类所创建的对象时,返回true。否则返回false。
小案例:
package com.jackfujia.oo2;
/**
* 测试继承
* @author Administrator
*
*/
public class TestExtends {
public static void main(String[] args) {
Student stu = new Student();
stu.name = "付佳";
stu.height = 180;
stu.major = "网络";
stu.rest();
stu.study();
Student stu2 = new Student("付佳", 190, "计算机");
stu2.study();
stu2.rest();
System.out.println(stu2 instanceof Student);
System.out.println(stu2 instanceof Person);
System.out.println(stu2 instanceof Object);
System.out.println(new Person() instanceof Student);
}
}
class Person {
String name;
int height;
//方法
public void rest() {
System.out.println("休息一会");
}
}
class Student extends Person{
/*因为有了extend Person 继承了Person中的同样的方法。故这里不用写。
* String name;
int height; */
String major;
public Student() {
// TODO Auto-generated constructor stub
}
//方法
public void study() {
System.out.println("学习俩小时");
}
//方法
/*因为有了extend Person 继承了Person中的同样的方法。故这里不用写。
* public void rest() {
System.out.println("休息一会");*/
//这里是一个构造器
public Student(String name, int height, String major) {
this.name = name;
this.height = height;
this.major = major;
System.out.println(name + height + major);
}
}