摘要: 局部内部类的final问题 局部内部类,如果希望访问所在方法的局部变量,那么这个局部变量必须是有效final的从Java 8+开始,只要局部变量事实不变,那么final关键字可以省略。原因:1. new出来的对象在堆内存当中2.局部变量是跟着方法走的,在栈内存当中3.方法运行结束之后,立刻出栈,局部 阅读全文
posted @ 2022-07-04 20:42 帕拉利斯 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 内部类的同名变量访问 如果一个类是定义在一个方法内部的,那么这就是一个局部内部类。“局部”:只有当前所属的方法才能使用它,出了这个方法外面就不能用了。定义格式:修饰符class外部类名称{修饰符返回值类型外部类方法名称(参数列表){class局部内部类名称{ 内部 } }} 局部内部类定义 publ 阅读全文
posted @ 2022-07-04 20:08 帕拉利斯 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 成员内部类使用 1、成员内部类2.局部内部类(包含匿名内部类)成员内部类的定义格式:修饰符class外部类名称{修饰符class内部类名称{ 内部类同名变量访问 1.间接方式:在外部类的方法当中,使用内部类﹔然后main只是调用外部类的方法 2.直接方式,格式类名称对象名 = new类名称();外部 阅读全文
posted @ 2022-07-04 19:44 帕拉利斯 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 四中权限修饰符 public 在同一个类 同一个包 不同包子类 不同包非子类都可以用 protected 在同一个类 同一个包 不同包子类都可以使用 default 在同一个类 同一个包可以使用 default并非关键字 而是不谢权限符 private 只能在同一个类里使用 内部类的概念与分类 如果 阅读全文
posted @ 2022-07-04 19:14 帕拉利斯 阅读(16) 评论(0) 推荐(0) 编辑
摘要: final关键字修饰成员方法 当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写。格式:修饰符final返回值类型方法名称(参数列表){l[方法体注意事项:对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾 不能覆盖重写父类当中fina 阅读全文
posted @ 2022-07-04 17:15 帕拉利斯 阅读(75) 评论(0) 推荐(0) 编辑
摘要: fianl四中用法 final关键字代表最终、不可改变的。常见四种用法:1.可以用来修饰一个类 2.可以用来修饰一个方法3还可以用来修饰一个局部变量 4.还可以用来修饰一个成员变量 当final关键字用来修饰一个类的时候,格式:public final class类名称{含义:当前这个类不能有任何的 阅读全文
posted @ 2022-07-04 16:53 帕拉利斯 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 进行描述笔记本类,实现笔记本使用USB鼠标、USB键盘. USB接口,包含打开设备功能、关闭设备功能 笔记本类,包含开机功能、关机功能、使用USB设备功能 鼠标类,要实现USB接口,并具备点击的方法键盘类,要实现USB接口,具备敲击的方法 笔记本类 鼠标类 键盘类 USB设备接口 Test类 阅读全文
posted @ 2022-07-04 16:40 帕拉利斯 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 如何才能知道一个父类引用的对象,本来是什么子类?格式:对象 instanceof类名称这将会得到一个boolean值结果,也就是判断前面的对象能不能当做后面类型的实例 阅读全文
posted @ 2022-07-04 15:48 帕拉利斯 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 向上转型 1对象向上转型其实就是多态写法 格式 父类名称 对象名 = new 子类名称; 含义右侧创建一个子类对象把它当做父类来看待使用 向上转型一对是安全的 从小范围转向了大范围 创建了一致猫当做动物看待 没问题 向上转换称为更大范围的动物 向下转型 对象的向下转向 其实是一个还原的动作 格式:子 阅读全文
posted @ 2022-07-04 15:19 帕拉利斯 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 在多态的代码当中,成员方法的访问规则是看new的是谁,就优先用谁,没有则向上找。口诀:编译看左边,运行看右边对比一下:成员变量:编译看左边,运行还看左边。成员方法:编译看左边,运行看右边 好处 无论右边new的时候换成哪个子类对象 等号左边的方法都不会变化 不使用多态 使用多态 阅读全文
posted @ 2022-07-04 14:58 帕拉利斯 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 代码当中体现多态性,其实就是一句话:父类引用指向子类对象。格式:父类名称对象名 = new子类名称();或者:接口名称对象名= new实现类名称(); 1直接通过对象名称访间成员变量:看等号左边是谁,优先用谁,没有则向上找 2间接通过成员方法访问成员变量:看该方法属于谁,优先用谁,没有则向上找 阅读全文
posted @ 2022-07-04 14:24 帕拉利斯 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1.类与类之间是单继承的。直接父类只有一个。2.类与接口之间是多实现的。一个类可以实现多个接口 3.接口与接口之间是多继承的。注意事项:1多个父接口当中的抽象方法如果重复,没关系。2.多个父接口当中的默认方法如果重复,那么子接口必须进行默认方法的覆盖重写 多态的概述 一个对象 有不用的邢台 比如 小 阅读全文
posted @ 2022-07-04 13:56 帕拉利斯 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1.成员变量其实是常量,格式: [public] [static] [final]数据类型常量名称=数据值;注意:常量必须进行赋值,而且一旦赋值不能改变。常量名称完全大写,用下划线进行分隔。I2.接口中最重要的就是抽象方法,格式:[public] [abstract]返回值类型方法名称(参数列表); 阅读全文
posted @ 2022-07-04 13:22 帕拉利斯 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 问题描述:我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题。但是这个共有方法不应该让实现类使用,应该是私有化的。角看决方案:从3ava 9开始,接口当中允许定义私有方法。I1.普通私有方法,解决多个默认方法之间重复代码问题格式:private返回值类型方法名称(参数列表){方法体}2 阅读全文
posted @ 2022-07-04 11:42 帕拉利斯 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 从Java 8开始,接口当中允许定义静态方法。格式:public static返回值类型方法名称(参数列表){方法体}提示:就是将abstract或者default换成static即可,带上方法体 注意事项:不能通过接口实现类的对象来调用接口当中的静态方法。 正确用法:通过接口名称,直接调用其中的静 阅读全文
posted @ 2022-07-04 11:01 帕拉利斯 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 从Java 8开始,接口里允许定义默认方法。格式:public default 返回值类型方法名称(参数列表){方法体}备注:接口当中的默认方法,可以解决接口升级的问题 接口使用步骤;1.接口不能直接使用,必须有一个“实现类”来"实现”该接口。格式:public class实现类名称implemen 阅读全文
posted @ 2022-07-04 10:51 帕拉利斯 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。如何定义一个接口的格式:public interface接口名称{ 接口内容}备注:换成了关键字interface之后,编译生成的字节码文件仍然是: .java --> .class。如果是Java 7,那么接口中可 阅读全文
posted @ 2022-07-04 10:16 帕拉利斯 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。 理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。理解:子类的构造方法中,有默认的super(),需要访问父类构造方 阅读全文
posted @ 2022-07-04 09:48 帕拉利斯 阅读(21) 评论(0) 推荐(0) 编辑