11 2020 档案

摘要:如果一个类是定义在一个方法内部的,那么这就是一个局部内部类。“局部”:只有当前所属的方法才能使用它,出了这个方法外面就不能用了。定义格式:修饰符 class 外部类名称 { 修饰符 返回值类型 外部类方法名称(参数列表) { class 局部内部类名称 { // ... } }}小节一下类的权限修饰 阅读全文
posted @ 2020-11-25 20:55 Oooooooa 阅读(182) 评论(0) 推荐(0)
摘要:内部类同名变量访问: 1 // 如果出现了重名现象,那么格式是:外部类名称.this.外部类成员变量名 2 public class Outer { 3 4 int num = 10; // 外部类的成员变量 5 6 public class Inner /*extends Object*/ { 7 阅读全文
posted @ 2020-11-23 11:41 Oooooooa 阅读(111) 评论(0) 推荐(0)
摘要:概念:如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。例如:身体和心脏的关系。又如:汽车和发动机的关系。分类:1.成员内部类2.局部内部类(包含匿名内部类) 成员内部类的定义格式:修饰符 class 外部类名称 { 修饰符 class 内部类名称 { // ... } // .. 阅读全文
posted @ 2020-11-18 11:34 Oooooooa 阅读(297) 评论(0) 推荐(0)
摘要:概念:final关键字代表最终、不可改变的。常见四种用法:1. 可以用来修饰一个类2. 可以用来修饰一个方法3. 还可以用来修饰一个局部变量4. 还可以用来修饰一个成员变量修饰“类”: 当final关键字用来修饰一个类的时候,格式:public final class 类名称 { // ...}含义 阅读全文
posted @ 2020-11-16 17:23 Oooooooa 阅读(845) 评论(0) 推荐(0)
摘要:1 public interface USB { 2 3 public abstract void open(); // 打开设备 4 5 public abstract void close(); // 关闭设备 6 7 } 1 // 鼠标就是一个USB设备 2 public class Mous 阅读全文
posted @ 2020-11-16 11:43 Oooooooa 阅读(113) 评论(0) 推荐(0)
摘要:如何才能知道一个父类引用的对象,本来是什么子类?格式:对象 instanceof 类名称这将会得到一个boolean值结果,也就是判断前面的对象能不能当做后面类型的实例。 1 public class Demo02 { 2 public static void main(String[] args) 阅读全文
posted @ 2020-11-15 17:57 Oooooooa 阅读(291) 评论(0) 推荐(0)
摘要:1 /* 2 向上转型一定是安全的,没有问题的,正确的。但是也有一个弊端: 3 对象一旦向上转型为父类,那么就无法调用子类原本特有的内容。 4 5 解决方案:用对象的向下转型【还原】。 6 */ 7 public class Demo01Main { 8 9 public static void m 阅读全文
posted @ 2020-11-15 17:10 Oooooooa 阅读(95) 评论(0) 推荐(0)
摘要:1 /* 2 在多态的代码当中,成员方法的访问规则是: 3 看new的是谁,就优先用谁,没有则向上找。 4 5 口诀:编译看左边,运行看右边。(不出红线就代表编译通过) 6 7 对比一下: 8 成员变量:编译看左边,运行还看左边。 9 成员方法:编译看左边,运行看右边。 10 */ 11 publi 阅读全文
posted @ 2020-11-15 16:15 Oooooooa 阅读(115) 评论(0) 推荐(0)
摘要:多态的格式及使用: 1 /* 2 代码当中体现多态性,其实就是一句话:父类引用指向子类对象。 3 4 格式: 5 父类名称 对象名 = new 子类名称(); (子类被当作父类来使用)(一只猫被当作动物看待) 6 或者: 7 接口名称 对象名 = new 实现类名称(); 8 */ 9 public 阅读全文
posted @ 2020-11-15 11:36 Oooooooa 阅读(131) 评论(0) 推荐(0)
摘要:使用接口的时候,需要注意:1. 接口是没有静态代码块或者构造方法的。2. 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。格式:public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB { // 覆盖重写所有抽象方 阅读全文
posted @ 2020-11-13 21:49 Oooooooa 阅读(391) 评论(0) 推荐(0)
摘要:1 /* 2 接口当中也可以定义“成员变量”,但是必须使用public static final三个关键字进行修饰。 3 从效果上看,这其实就是接口的【常量】 4 格式: 5 public static final 数据类型 常量名称=数据值; 6 备注: 7 一旦使用final关键字进行修饰,说明 阅读全文
posted @ 2020-11-12 18:14 Oooooooa 阅读(503) 评论(0) 推荐(0)
摘要:抽取一个共有方法,用来解决两个默认方法之间重复代码的问题,这个共有方法不应该让实现类使用,应该是私有化的。 解决方案:从Java 9开始,接口当中允许定义私有方法。1. 普通私有方法,解决多个默认方法之间重复代码问题定义格式:private 返回值类型 方法名称(参数列表) { 方法体}例: 1 p 阅读全文
posted @ 2020-11-10 17:08 Oooooooa 阅读(356) 评论(0) 推荐(0)
摘要:从Java 8 开始,接口中允许定义静态方法 格式: public static 返回值类型 方法名称(参数列表){ 方法体 } 注意事项:不能通过接口实现类的对象来调用接口当中的静态方法。正确用法:通过接口名称,直接调用其中的静态方法。格式:接口名称.静态方法名(参数); 阅读全文
posted @ 2020-11-09 10:06 Oooooooa 阅读(447) 评论(0) 推荐(0)
摘要:接口的默认方法,可以覆盖重写,也可以直接调用。 1 /* 2 从Java 8开始,接口里允许定义默认方法。 3 格式: 4 public default 返回值类型 方法名称(参数列表) { 5 方法体 6 } 7 8 备注:1.接口当中的默认方法,可以解决接口升级的问题。 9 2.今后学到lamb 阅读全文
posted @ 2020-11-08 20:43 Oooooooa 阅读(526) 评论(0) 推荐(0)
摘要:接口就是一种公共的规范标准,只要符合规范标准,就可以大家通用。 生活举例:电源接口、USB接口(只要符合USB接口的规范,那么各种设备都可以使用:U盘、打印机、夜读灯、USB小风扇......) 接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 如何定义一个接口的 阅读全文
posted @ 2020-11-04 21:03 Oooooooa 阅读(335) 评论(0) 推荐(0)
摘要:用户: 1 public class User { 2 3 private String name; // 姓名 4 private int money; // 余额,也就是当前用户拥有的钱数 5 6 public User() { 7 } 8 9 public User(String name, 阅读全文
posted @ 2020-11-04 19:33 Oooooooa 阅读(81) 评论(0) 推荐(0)
摘要:概念: 格式:抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。使用:如何使用抽象类和抽象方法:1. 不能直接创建new抽象类对象。2. 必须用一个子类来继承抽象父类。3. 子类必须覆盖重写抽 阅读全文
posted @ 2020-11-02 11:33 Oooooooa 阅读(525) 评论(0) 推荐(0)
摘要:一、Java语言是单继承的。 一个类的直接父类只能有唯一 一个 二、Java语言可以多级继承 爷爷 父亲 孙子 (爷爷也称为孙子的“父类”,父亲是“直接父类”,直接父类只有一个) 最高级:java.lang.Object 三、一个父类可以拥有多个子类 阅读全文
posted @ 2020-11-01 21:22 Oooooooa 阅读(458) 评论(0) 推荐(0)
摘要:1 public class Fu { 2 3 int num = 10; 4 5 public void method() { 6 System.out.println("父类方法"); 7 } 8 9 } 1 /* 2 super关键字的用法有三种: 3 1. 在子类的成员方法中,访问父类的成员 阅读全文
posted @ 2020-11-01 17:28 Oooooooa 阅读(119) 评论(0) 推荐(0)
摘要:1 public class Fu { 2 3 public Fu() { 4 System.out.println("父类无参构造"); 5 } 6 7 public Fu(int num) { 8 System.out.println("父类有参构造!"); 9 } 10 11 } 1 publ 阅读全文
posted @ 2020-11-01 17:05 Oooooooa 阅读(98) 评论(0) 推荐(0)