标签:定义 逗号 message ++ sage 自己的 扩展 class ted
Java通过extends关键字来声明一个类从另外一个类继承而来。
class 父类 { } class 子类 extends 父类 { }
示例:
//公共父类
public class Animal{
private String name;
private int id;
public Animal(String myName, int myid){
name = myName;
id = myid;
}
public void introduction(){
System.out.println("Hello,everyone! My name is " + id + "," + name +".");
}
}
//子类 public class Penguin extends Animal { public Penguin(String myName, int myid) { super(myName, myid); } } public class Mouse extends Animal { public Mouse(String myName, int myid) { super(myName, myid); } }
继承的特性:
子类拥有父类非private的属性,方法。
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
子类可以用自己的方式实现父类的方法。
Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类,这是java继承区别于C++继承的一个特性。
提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。
继承关键字:
//implements关键字示例 public interface A { public void eat(); public void sleep(); } public interface B { public void show(); } public class C implements A,B { }
class SuperClass { int i = 50; } class SubClass extends SuperClass { int i =100; public void showMessage() { System.out.printf("super.i = %d, this.i = %d\n", super.i, this.i); } }
输出:
super.i = 50, this.i = 100
final 关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写:
声明类:
final class 类名 {//类体}
声明方法:
修饰符(public,private,void,protected等) final 返回值类型 方法名(){//方法体}
子类不能继承父类的构造器(构造方法或者构造函数),但是父类的构造器带有参数的,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表。
如果父类有无参构造器,则在子类的构造器中用super调用父类构造器不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。
标签:定义 逗号 message ++ sage 自己的 扩展 class ted
原文地址:http://www.cnblogs.com/bahcelor/p/6534129.html