Java面向对象

package github.oop;

import java.io.IOException;

/**
 * @author subeiLY
 * @create 2021-05-30 17:54
 */
// 类
public class Demo01 {
    // main方法
    public static void main(String[] args) {

    }

    /*
    修饰符 返回值类型 方法名(...){
        // 方法体
        return 返回值;
    }
     */
    public String sayHello(){
        return "hello,world!";
    }

    public int max(int a,int b){
        return a>b ? a : b; // 三元运算符
    }

    // 数组下标越界:Arrayindexoutofbounds
    public void readFile(String file) throws IOException{

    }
}

封装的作用:

  • 提高了代码的安全性,保护数据;
  • 隐藏代码的实现细则;
  • 统一接口;
  • 系统可维护增加了。

super注意点:

  • super调用父类的构造方法,必须在构造方法的第一个
  • super必须只能出现在子类的方法或者构造方法中!
  • super和this不能同时调用构造方法!

VS this:

  • 代表的对象不同:
    • this:本身调用者这个对象;
    • super:代表父类对象的应用;
  • 前提
    • this:没有继承也可以使用;
    • super:只能在继承条件才可以使用;
  • 构造方法
    • this():本类的构造;
    • super():父类的构造。

方法的重写:

  • 重写:需要有继承关系,子类重写父类的方法!
    • 方法名必须相同;
    • 参数列表列表必须相同;
    • 修饰符:范围可以扩大但不能缩小: public>Protected>Default>private
    • 抛出的异常:范围,可以被缩小,但不能扩大;ClassNotFoundException–> Exception(大)
  • 重写,子类的方法和父类必要一致;方法体不同!
  • 为什么需要重写:父类的功能,子类不一定需要,或者不一定满足!

多态注意事项:

  • 多态是方法的多态,属性没有多态;
  • 父类和子类,有联系,类型转换异常!ClassCastException!
  • 存在条件:继承条件,方法需要重写!父类引用指向子类对象!
    • static 方法,属于类,它不属于实例
    • final 常量;
    • private 方法;

instanceof:判断一个对象是什么类型。

  • 父类引用指向子类的对象;
  • 把子类转换为父类,向上转型;
  • 把父类转换为子类,向下转型,强制转换;
  • 方便方法的调用,减少重复的代码!简洁。

posted @ 2025-04-09 10:47  hwq1992  阅读(6)  评论(0)    收藏  举报