面向对象的思想
面向对象的三大特性:封装,继承,多态。
1.封装:
就是指把一些需要组件封装在一个类里面。
2.继承:
继承就是子类继承父类的方法
1).Final修饰类:
如果父类的类名中带有Final,那么这个类就不能被继承。
如果父类的方法中带有Final,那么这个方法不能被重写。
如果一个常量中带有Final,那么这个变量被改动。
3.多态:
多态性是指允许不同类的对象对同一消息做出相应。
多态性包括参数化多态性和包含多态性,
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
多态还有两种表现形态:重写和重载。
1.重写
重写,就是说重写父类的方法
子类继承了父类的所有方法,如果不想使用某一个方法的话,功能需要改变,就把那个方法在子类中重新实现一遍。
父类方法:
public class Draw {
public void Father(){
System.out.println("这是父类的方法");
}
}
子类方法:
public class Draw extends Father{
public void main(String[] args) {
Draw test = new Draw();
test.Son();
}
public void Son(){
System.out.println("这是重写父类的方法");
}
}
2.重载
重载,只能是在同一个类中,与继承没有关系。
标识一个函数,函数名相同以外的参数不同。
也就是说一个类中有两个或两个以上的函数,函数名字相同,但是参数不同。
public class Draw {
public void main(String[] args) {
Draw test = new Draw();
// 通过在下面调用方法的括号里面传参来实现在同一个类里使用同函数名,不同参数的方法
test.draw();
}
public void draw() {
System.out.println("这是第一个函数");
}
public void draw(String a) {
System.out.println("这是第二个函数");
}
public void draw(String a, int b) {
System.out.println("这是第三个函数");
}
}
(fniendly):默认的,对同一包开放。
public :公用的,全开放所有子类都可以使用。
private:私有的,就算是他的子类也无法访问。
protected:保护的,子类可以访问,同一包中的类也可以访问,但是子类在包外也可以访问。
这大概就是面向对象的思想吧。