@Senl
2017-03-26T16:36:06.000000Z
字数 2693
阅读 1185
技术学习
一个类可以继承(extends)一个父类,以获取父类的方法
如果不想某一个类被初始化,可以用abstract关键字标记它为抽象类
Java中所有类都是Object (Java.lang.Object) 的直接或者间接子类
Dog d= (Dog) x.getObject(aDog);
Java不允许多重继承,那样子会造成混乱,可以使用接口
使用接口的方法
声明时候用interface代替class
public interface Pet{ //用interface代替classpublic abstract void beFriendly();public abstract void play();// 接口方法一定是抽象的,所以必须以分号结尾,它们没有内容}
在具体使用的类里面实现接口中声明的方法
public class Dog extends Canine implements Pet{//使用interface之前必须是在某个类的继承下public void beFriendly(){······}public void play(){······}//必须在使用接口的类里实现出Pet的方法public void roam(){·····}//继承的Canine类中的方法}
实例变量
private Antenna ant;private Antenna ant = new Antenna();构造函数
super();,此时将一直追溯父类并将父类的构造函数放入栈顶直至Object构造函数位置,然后编译器根据栈的位置关系往下执行方法super();之外可以使用this();
// 父类: Animalpublic abstract class Animal { //被设置为抽象类的Animal父类private String name; //被设置为私有的父类的实例变量public String getName() { //getName的方法return name;}public Animal(String aName) { //有参数的构造函数,用于设定namename = aName;}------------------------------------------------------------------------// 继承Animal的子类Tigerpublic class Tiger extends Animal { //继承了Animal的子类Tigerpublic Tiger(String name) { //需要一个String参数super(name);//调用父类的构造函数并将参数传给父类的构造参数}public void roar() {System.out,println("aoooooo~~");}}-------------------------------------------------------------------------// 创建一只老虎public class MakeTiger {public static void main(String[] args) {Tiger tiger = new Tiger("Little Yellow");System.out.println(h.getName());}}
运行结果是:
Little Yellow
静态方法
public class Tiger {private static int tigerNum = 0 ; //设置为私有的静态变量public Tiger() { //自定义一个构造函数,当一个Tiger被实例化时候(new),tigerNum就会加一,可以直到一共有多少只老虎被new了出来,如果删除static 将不会有这样的效果tigerNum ++;}}