-
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
查看全部 -
构造方法的语法格式
查看全部 -
继承——super关键字
1、在对象的内部使用,可以代表父类对象。
(1)、访问父类的属性 super.age;
(2)、访问父类的属性 super.eat();
2、super的应用
子类在构造的过程当中必须调用其父类的构造方法(隐式显示)
(1)、如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法
(2)、如果显示的调用构造方法,必须在子类的构造方法的第一行
(3)、如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错
查看全部 -
继承——final关键字
使用final
关键字做标识有“最终的”含义
final可以修饰类、方法、属性和变量。
final修饰类,则该类不允许被继承
final修饰方法,则该方法不允许被覆盖(重写)
final修饰属性,则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值(但只能选其一)
final修饰变量,则该变量的值只能赋一次值,即变为常量
查看全部 -
当使用继承时,程序是如何执行的?
1、继承的初始化顺序
(1)初始化父类在初始化子类
(2)先执行初始化对象中的属性,再执行构造方法中的初始化
查看全部 -
super应用
查看全部 -
package com.imooc; //子类的本质或许是父类的静态内部类 public class Animal { String name; int age; String shout; public void eat(){ System.out.println("动物具备吃的能力。"); } public static class Dog{ String name; int age; String shout; public void eat(){ System.out.println("狗具备吃的能力"); } } public static void main(String args []){ Dog dog = new Dog(); dog.age = 2; dog.name = "黄豆"; dog.shout = "汪汪~"; System.out.println("name:"+dog.name+"age:"+dog.age+"shout:"+dog.shout); } }
查看全部 -
静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。静态方法的使用如:
需要注意:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:
查看全部 -
ava 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问~~
使用 static 可以修饰变量、方法和代码块。
本小节,我们先认识一下静态变量。
例如,我们在类中定义了一个 静态变量 hobby ,操作代码如下所示:
查看全部 -
方法的重写
1、什么是方法的重写:
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。
2、语法规则:
a.返回值类型
b.方法名
c.参数类型及个数
都要与父类继承的方法相同,才叫方法的重写
查看全部 -
继承
1、继承的概念:继承是类与类的一种关系,是一种“is a”的关系
注:java中的继承是单继承
2、继承的好处:
子类拥有父类的所有属性和方法(private修饰的无效),实现代码复用
3、语法规则:
class 子类 extends 父类
例:class Dog extends Animal{
。。。。。
}
(在eclipse中创建一个子类的时候,在superclss选项中输入要继承的父类的名称,点击完成即可)
查看全部 -
Dog other=(Dog)obj
这是将另外一个要对比的对象的类型转换成Dog类型,这样的作用,是为了比较后面的数据是否一致。
这个程序是适用于所有的。意思就是另外一个不是Dog的类型也可以适用。
查看全部 -
類對象 getClass()
查看全部 -
重寫equals
查看全部 -
生成toString
查看全部
举报