日常-2018.08.01

1.方法的重写和重载区别
(1)重写(Override) : 在子类中,出现了和父类一模一样的方法时,子类重写父类方法。注意:子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
例:
class Fu(){

    void show(){ }
    public void method(){ }

}

class Zi () extends Fu{

    public void show(){ }  //编译运行没问题
    void method(){ } //编译错误

}

(2)重载(Overload) : 在同一个类中,方法名一样,参数列表不同。
例:
class person {

public void smoking(){
    System.out.println("他在抽大前门")
}

public void smoking(){
    System.out.println("他在抽芙蓉王")
}

}

2. 成员变量和局部变量的区别
(1)成员变量:定义在类中方法外;作用于整个类;有默认值;跟随对象入堆内存。

(2)局部变量:定义在方法内语句内;作用于该方法语句内;无默认值,不赋值不能使用;跟随方法入栈。

3.面向对象的 三个特征:

  • 封装
  • 继承
  • 多态

4.封装:隐藏了实现细节,还要对外提供可以访问的方式,提高代码复用性。

(1)private关键字,还需给封装了的提供set和get方法
(2)this关键字, 代表本类的成员变量。例:this.name
(3)super关键字,代表父类的成员变量。例:super.name

5.抽象类

(1)不能实例化对象,强制要求子类重写其抽象方法;
(2)抽象方法必须存在于抽象类中,在方法名和类名前加abstract;
(3)如果该抽象类的子类只重写了一部分抽象方法,那么该子类也是抽象类
(4)使用方式:定义继承抽象类,将抽象方法重写,创建子类的对象。

例:public abstract void work( ); //定义一个名为work的抽象方法

猜你喜欢

转载自blog.csdn.net/qq_42448091/article/details/81348261