·重载
–定义:一个类中定义有相同的名字,但参数不同的多个方法,调用时,会根据不同的参数选择对应的表达式;
–特点:两同三不同
1、同一个类,同一个方法名
2、参数列表不同(类型、个数、顺序不同)
·继承(extends)
–子类继承父类,可以得到父类全部属性和方法(除了父类的构造方法)
–java中只有单继承,没有像C++那样的多继承。多继承。就是为了实现代码的复用性,却引入了复杂性,使得系统之间关系混乱;
–Java中的多继承可以通过接口来实现;
–若调用一个类时,没有调用extends,则它的父类是:java.lang.Object;
–不同的叫法:
超类、父类、基类、子类、派生类;
–优点:
一旦创建一个超类,定义一组对象共有的属性,就可以用它创建任意数量的更具 体的子类。每个子类都可以精确定义自己的类;
·成员访问
–子类访问超类私有成员的方法:
使用访问器访问
–例
class TwoDShape{
private double width; //these are
private double height; //now private
//Accessor methods for width and height
double getWidth(){ return width; }
double getHeight(){ return height; }
void setWidth(double w){ width = w; } //width和height的访问器方法
void setHeight(double h){ height = h; }
}
//a subclass of TwoDShape
class Triangle extends TwoDShape{
double area(){
return getWidth()*getHeight() / 2 ; //使用超类提供的访问器方法
}
}
·将实例变量声明为private的两种情况
–若实例变量只被它所在类中的方法使用;
–若实例变量必须在某一范围内;(只能通过访问器方法来访问)
这样可以防止把无效值赋给它
·在构造器中查看类 : 选中类名 + Ctrl
·内部类:可以直接使用外部类的属性和方法。内部类的方法也属于外部类