继承,从上向下的类模型。子类的功能一般要比父类的更加的具体,父类的方法往往更加的总领,抽象。例子:
一个父类Person,有属性name,子类Student和Emploee继承自Person。
子类实现一个方法,getDispection(),返回一个字符串 :
Student类返回: I am a student,My name is Abby。
Emploee类返回:I am a Emploee,My salary is 2000 dollar.。
那么,这个方法子类都有,可以用继承父类的方法后重写来实现,请问父类Person中如何设计这个方法呢?
01 写一个方法,返回一个空的字符串
02.还有一种,就是抽象getDispcetion()这个方法,此时方法是没有方法体。这个代表父类只需要声明这个方法,子类需要自己重写。
public abstract Stirng getDispection();
抽象的关键字是abstract。声明抽象方法,要将类同时抽象化,也是用abstract来修饰的。抽象类,有实力域,抽象方法,但是最好没有具体的方法,抽象类是可以有具体方法的,但是这个类是不可以实例化的。但是根据多态的原来,作为父类是可以引用子类的对象的。
完整的Person类的代码是:
public abstract class Person
{
public abstract String getDiscpetion();
private String name;
public Person(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
}
泛型数组:
现象:
在使用数组的时候,从一开始就必须要声明数组的长度,这样才好去获取相应的内存空间。但是,这样如果数据的个数大于数组的长度,就会溢出。
方法:
在Java中,使用泛型数组来解决这个问题,Arraylist。完整的代码是
Arraylist list=new Arraylist();
这个时候,T代表的是类,比如说是Student,Person
对于泛型数组的操作:
01.添加,add(对象)
02.修改,set(元素在数组的位置,值)
03.获取,get(元素在数组中的位置)
04.删除,remove(元素在数组中的位置)