Java学习 第七节之 面向对象的特征
Java面向对象的特征有:封装、继承、多态
一、封装:即使得面向用户更简单,面向属性更安全。(不让人随意访问)符
封装的的修饰符:public和private
注意:①如果没有特殊情况,属性一定私有,方法该公开的公开;
②如果不指明谁调用谁,则默认为this;
③区分实例变量和局部变量时一定要写this。
1、封装(属性尽可能的私有化,方法可根据需要设置)
程序举例:
class test1 {
private String name;
private int age;
//封装属性
public void setName(String name){
this.name=name;
}
public String getName(String name){
return name;
}
public void setAge(int age){
this.age=age;
}
//boolean封装
private boolean state;
public void setState(){
this.state=state;
}
public boolean isState(){
return state;
}
//数组封装
private String[] types;
public void setTypes(String[] types){
this.types=types;
}
public String[] getTypes(){
return types;
}
public String getTypes(int index){
returntypes[index];
}
public void setTypes(String types,int index){
this.types[index]=types;
}
publictest1(String name,String[] types,int age ){
this.name=name;
this.types=types;
this.age=age;
this.state=state;
}
//主方法
public static void main(String[] args)
{
System.out.println("HelloWorld!");
}
即是代码的高效率复用;也可以说是产品的,扩展和升级;继承等于拥有,但对于私有不可调用和访问。 |
2、继承
注意:1、继承中的关系是父类和子类,其中父类又叫超类和基类,子类叫派生类。
2、继承关键词:extends
3、父类的继承方法不能被子类通过继承使用,只能有super方法调用。
4、super表示超类对象,super();表示选择父类某一对象调用。
5、父类与子类都有某一方法,调用时首先考虑子类的,其次调用父类的方法
时,需要在方法前加super和.,即super .方法名( );
6、类前加final,表示该类不可被继承;方法前加final,表示该方法子类不可重写;变量前加final,表示定义常量。
7、object被称为祖先类,即所以类默认继承object类。Class是则是所有类的管理员。
程序举例:
public classtest4{
public void method(){
System.out.println("哈哈哈哈哈");
}
public static void main(String[]args){
System.out.println("test4");
}
}
//test继承test1的程序
class test1 extends test
{
public void method(){
System.out.println("test7");
}
public static void main(String[] args)
{
test4 t=new test7();
t.method();
super.method();
System.out.println("HelloWorld!");
}
}
3、多态:是指编译时类型发生变化,而运行时类型不变。简单说就是子类演变成父类。
注意:1、方法的重载:即在同一个类中,一个方法名可以有两个或多个定义,但必须有不同参数个数或者不同参数类型。
2、父类和子类之间的多态性,对父类的函数进行重新定义。如果子类中定义某方法与其父类与相同的名称和参数,我们就说该方法被重写。
程序举例如下: