方法重载只跟参数有关,跟其他的都没有关系的。
比如;
boolean withdraw(double money){}
int withdraw(int money){}
重写和重载的区别:
在同一个类里面两个方法名一样,但是参数不一样,这叫做重载。
两个继承关系的类,子类中有个方法和父类一样,参数一样,这叫重写。
Overriding:子类在继承父类方法的同时并改写了此方法。(方法名称,参数个数,类型都不变)
Overloading: 多个方法同名,但是其参数的个数、类型、顺序有所不同
静态static关键字,主要是有这个关键字,程序可以直接用类名来调用,没有关键字static则必须创建一个对象,必须通过对象来引用。
注意主函数,main必须有关键字static,否则程序刚开始无法运行,程序都没没运行更别谈说是创建一个对象,所以这是一个要注意的关键点。
Static修饰的方法不可以发生Overriding,但static修饰的方法有以下的特点:
父类和子类可以具有名称和signature完全相同,但是内容不同的两个方法。在子类中,父类的方法被子类的方法隐藏。
被隐藏的父类中的静态方法不能够从子类中访问。
Static修饰的方法是可以在子类中继承的,但是在执行upcasting之后,静态方法不会出现动态绑定的现象。
数组扩充:
if(size>=accounts.length){
expend();
}
private void expend(){
Account[] temp = new Account[size*2];
for(int i= 0;i
temp[i] = accounts[i];
}
accounts=temp;
}
Java中比较两个字符串不能用“==”,必须用equals()如下:
if(str1.equals(str2)){}
继承:复用父类的全部方法(不论好坏的)。工程中不建议用继承。
class 子类 extends 父类{ }
JAVA中只能有一个父类。
父类和子类的方法名一样,想调用父类
Person p = new Person();每当执行这句时就调用构造方法。构造方法的名字必须是和类名一样,可以对参数进行一些初始化。
一般方法就不和类名一样,调用时先创建对象,然后用引用来调用它。p.getName();
Super.成员变量、Super.成员函数 调用父类的方法,
抽象的类里面可以有抽象的方法,也可以有普通的方法;
类里面有抽象的方法则,类必须是抽象的类;
父类里面有抽象方法,则子类要么重写父类的抽象方法,要么子类也变成抽象的类
final 和 abstract是有冲突的,是不能写在一起的
由final修饰的方法是不能被修改的.(注意区别于在异常里面的关键字finally,finally里面的代码是不论发生什么情况都会去执行的,多用于系统出现异常后关闭数据库,等并安全退出)
abstract只能修饰类和方法,不能修饰属性