-
final关键字 使用final关键字做标识有“最终的”含义 final可以修饰类、方法、属性和变量 final修饰类,则该类不允许被继承 final修饰方法、则该方法不允许被覆盖(重写) final修饰属性 则该类的属性不会进行隐式的初始化(类的初始化属性必须有值) 或在构造方法中赋值(但只能选其一) final修饰变量、则该变量的值只能赋一次值,即变量查看全部
-
抽象类定义 1、语法定义: 抽象类钱使用abstract关键字修饰,则该类为抽象类。 2、应用场景: a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法 b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。 3、作用: 限制规定子类必须实现某些方法,但不关注实现细节。 4、使用规则: a、abstract定义抽象类 b、abstract定义抽象方法,只有声明,不需要实现 c、包含抽象方法的类是抽象类 d、抽象类中可以包含普通的方法,也可以没有抽象方法 e、抽象类不能直接创建,可以定义引用变量查看全部
-
内部类和类的变量有对应关系: 例如普通内部类相当于普通成员变量,可以有访问限制符修饰 静态内部类和静态成员变量类似,即不需要在创建外部类对象的情况下,依然可以创建其对象 而方法内部类则和局部变量类似,不能有修饰符修饰,不管是访问限制修饰符还是static查看全部
-
java中的静态内部类: 静态内部类是 static 修饰的内部类,这种内部类的特点是: 1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员 3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类()查看全部
-
引用类型转换:小类型转换大类型 没问题,而大类型转换小类型则可能发生溢出危险,我们可通过 (类名)引用 格式来进行强制类型转换,但为了避免隐式错误,我们引入关键字 instanceof 关键字来判断其左操作数是否能转换为右操作数,其返回一个布尔类型,所以可以使用if语句进行判断。查看全部
-
1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等 2、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a 3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( ); 4、 编译上面的程序后,会发现产生了两个 .class 文件 其中,第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class 另外,友情提示哦: 1、 外部类是不能直接使用内部类的成员和方法滴 可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。 2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。查看全部
-
instanceof避免类型转换的安全性问题查看全部
-
多态:对象的多种形态 多态:对象的多种形态 1、引用多态,父类引用(对象)可以指向本类对象也可以指向子类对象。 2、方法多态,不能调用子类独有方法,父类引用调用父类方法、子类引用调用子类方法(或父类的方法重载);如果子类没有方法,则调用的是父类对应的方法。查看全部
-
多态:对象的多种形态。查看全部
-
equals()方法:比较对象的引用是否指向同一块内存地址(比较是否为同一部手机)与==运算符相像 Dog dog=new Dog() 创建一个dog对象,其实这个dog是对象在内存中的地址,是对象的引用 一般情况下比较两个对象时比较他们的属性值是否相同(比较两部手机的属性),所以重写equals()方法。 菜单栏 source下可生成 new一个类的时候得到类的对象、然后这个对象调用getClass()得到类对象(区别:类对象描述的是代码信息(如有哪些属性和方法,属性名和方法名是什么),类的对象描述的是数据信息。查看全部
-
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();查看全部
-
Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类。 Object类中的方法,适合所有子类。 1.toString()方法(实例:用于System.out.println(x)输出对象的时候,输出的是哈希码):在Object类里定义的toString()方法,用于返回对象的哈希code码(对象地址字符串-用来唯一区分对象,如身份证) 可以重写toString()方法表示出对象的属性 快速在类中重写toString()方法的操作: Source->Generate toString()得到代码查看全部
-
super关键字: 在对象的内部使用,可以代表父类对象, 访问父类的属性:super.age 访问父类的方法:super.eat(); 子类的构造的过程中必须调用其父类的构造方法。 如果子类的构造方法中没有显示调用父类的构造方法, 则系统默认调用父类无参的构造方法。 如果显示的调用构造方法,必须在子类的构造方法的第一行。 如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。查看全部
-
如果要访问外部类的成员变量,可以使用 this 关键字 HelloWorld.this.age查看全部
-
super的应用。查看全部
举报
0/150
提交
取消