Class Person(){
public eat(){
System.out.println("吃东西");
}
}
Class Student extends Person(){
public eat(){
System.out.println("吃学校食堂");
}
}
Java只支持单继承和多层继承,不允许多重继承。C++可以多重继承。
子类中可以对从父类中继承的方法进行重写,就是覆盖overwrite,override.
名字和形参都一样。不能降低可见性。
注:子类不能重写父类中private方法。
使用super来调用父类中的指定操作,尤其当子父类出现同名成员时,可以用super表明调用的是父类中的成员.
调用父类构造器:
superI(a,b);
x instanceof A:检验x是否为类A的对象,返回值为boolean型。
静态变量。
在Java类中,可用static修饰属性、方法、代码块、内部类。
注:1.static修饰的方法不能被重写。
2.在static方法内部只能访问类的static修饰的属性或方法,不能访问类的非static的结构。
3.没有对象的实例时,可以用类名.方法名()的形式访问由static修饰的类方法。
4.静态方法内不能用this,super等关键字。
5.开发中属性是可以被多个对象共享的可以考虑用。操作静态属性的方法通常是静态的。工具类中的方法习惯声明为静态的。
一个事物的多种形态。
比如:Person p = new Student();p.eat(); 输出的是右边的eat()方法。
使用:编译时,看左边;运行时,看右边。
多态是一个运行时行为,编译时不知道是哪个。
注:前提:
需要存在继承或者实现关系
有方法的重写
Object类是所有Java类的根父类。
如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类。
tostring():
基本数据类型=>包装类(装箱):Integer in1 = Integer.valueOf(i);
拆箱:int i = in1.intValue();
新特性:可以自动装箱拆箱。JDK5.0以后。
基本数据类型、包装类 => String类型:String.ValueOf()
String类型 =>基本数据类型、包装类: Integer.parseInt()