## 一、Java中访问权限修饰符 | 修饰符 | 本类 | 同包类 | 不同包子类 | 不同包非子类 | | ----------- | ---- | ------ | ---------- | ------------ | | `private` | ✔️ | ✘ | ✘ | ✘ | | 默认(无) | ✔️ | ✔️ | ✘ | ✘ | | `protected` | ✔️ | ✔️ | ✔️ | ✘ | | `public` | ✔️ | ✔️ | ✔️ | ✔️ | ## 二、this关键字与super关键字 this/super可调用当前对象/父类对象(非私有)的属性、方法、构造方法,构造方法仅能在构造方法的第一行来调用。 ## 三、方法的重载overload与覆盖override 1、方法重载 在同一类中,方法名相同,参数不同(数量、类型、顺序)构成重载。 2、方法覆盖 (先看四、继承) 子类中重写父类中的方法,要求方法名、返回值类型、参数必须相同,可用@Override注解修饰。 ## 四、继承 1、须有共同的从属关系: 比如动物和植物都属于生物,动物又可分为猫、狗等;植物可以分为花、草等; 父类更抽象,子类更具体。 子类继承父类中的非私有属性和方法,构造方法不能被继承。 子类中可以定义特有的属性和方法; Java中类的继承是单继承的。 2、实现继承 ```java public class ClassName extends FatherName{ code; } ``` 3、继承优点 简化代码,提高可维护性 4、Java中所有的类都继承自java.lang.Object类 五、接口 1、语法结构 ```java public interface Name{ public abstract type methodName(); type methodName(); public static final type NAME; type Name; } ``` 2、特点 ①接口中的方法都是抽象的; ②接口中只能定义常量; ③接口不能实例化(new); ④接口时多继承的,接口也可以继承接口; ⑤接口虽不能实例化但可创建接口类型的数组: ```java InterfaceName[] name = new InterfaceName[n]; ``` ⑥接口中只能定义一个default方法: ```java public interface Name{ default public void methodName(){ code; } } ``` 3、接口使用 ```java public class ClassName implements InterfaceName1,InterfaceName2{ @Override public type methodName(){ code; } } ``` 接口可以被引用,须指向实现类的实例: ```java InterfaceName i = new ImplClass(); ``` 调用其方法时会调用实现类的方法。 ## 六、多态 1、引用的指向 自己的引用 → 自己的实例 父类的引用 → 自己的实例 父类 name = new 子类(); 2、什么是多态? 对象呈现出来的多种形态,父类的引用 指向 子类的实例(祖先引用 指向 后代的实例)(根基类 引用 指向 派生类的实例)。接口的引用指向实现类类型的实例(接口的引用 指向 实现类的子类的实例) ## 笔记、代码附件 [香肠狗网盘][1]https://pan.soki.me/s/bxHg [1]: https://pan.soki.me/s/bxHg Loading... ## 一、Java中访问权限修饰符 | 修饰符 | 本类 | 同包类 | 不同包子类 | 不同包非子类 | | ----------- | ---- | ------ | ---------- | ------------ | | `private` | ✔️ | ✘ | ✘ | ✘ | | 默认(无) | ✔️ | ✔️ | ✘ | ✘ | | `protected` | ✔️ | ✔️ | ✔️ | ✘ | | `public` | ✔️ | ✔️ | ✔️ | ✔️ | ## 二、this关键字与super关键字 this/super可调用当前对象/父类对象(非私有)的属性、方法、构造方法,构造方法仅能在构造方法的第一行来调用。 ## 三、方法的重载overload与覆盖override 1、方法重载 在同一类中,方法名相同,参数不同(数量、类型、顺序)构成重载。 2、方法覆盖 (先看四、继承) 子类中重写父类中的方法,要求方法名、返回值类型、参数必须相同,可用@Override注解修饰。 ## 四、继承 1、须有共同的从属关系: 比如动物和植物都属于生物,动物又可分为猫、狗等;植物可以分为花、草等; 父类更抽象,子类更具体。 子类继承父类中的非私有属性和方法,构造方法不能被继承。 子类中可以定义特有的属性和方法; Java中类的继承是单继承的。 2、实现继承 ```java public class ClassName extends FatherName{ code; } ``` 3、继承优点 简化代码,提高可维护性 4、Java中所有的类都继承自java.lang.Object类 五、接口 1、语法结构 ```java public interface Name{ public abstract type methodName(); type methodName(); public static final type NAME; type Name; } ``` 2、特点 ①接口中的方法都是抽象的; ②接口中只能定义常量; ③接口不能实例化(new); ④接口时多继承的,接口也可以继承接口; ⑤接口虽不能实例化但可创建接口类型的数组: ```java InterfaceName[] name = new InterfaceName[n]; ``` ⑥接口中只能定义一个default方法: ```java public interface Name{ default public void methodName(){ code; } } ``` 3、接口使用 ```java public class ClassName implements InterfaceName1,InterfaceName2{ @Override public type methodName(){ code; } } ``` 接口可以被引用,须指向实现类的实例: ```java InterfaceName i = new ImplClass(); ``` 调用其方法时会调用实现类的方法。 ## 六、多态 1、引用的指向 自己的引用 → 自己的实例 父类的引用 → 自己的实例 父类 name = new 子类(); 2、什么是多态? 对象呈现出来的多种形态,父类的引用 指向 子类的实例(祖先引用 指向 后代的实例)(根基类 引用 指向 派生类的实例)。接口的引用指向实现类类型的实例(接口的引用 指向 实现类的子类的实例) ## 笔记、代码附件 [香肠狗网盘][1]https://pan.soki.me/s/bxHg [1]: https://pan.soki.me/s/bxHg 最后修改:2025 年 10 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 👆请简单粗暴地爱我。