-
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
查看全部 -
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
查看全部 -
继承初始化顺序:
父类对象 :属性初始化→构造方法
子类对象:属性初始化→构造方法
查看全部 -
super()
子类的构造过程必须调用父类的构造方法
如果没有写调用代码,会在子类的构造方法中默认调用父类的无参的构造方法、系统中是隐释的,位置同下
如果写调用代码,必须在子类的构造方法的第一行
若子类中无显示调用父类构造方法,父类也没有无参的构造方法,编译出错。
查看全部 -
super关键字用在对象内部,代表父类对象,对象。
访问父类属性:super.age
访问父类的方法:super.eat()
//属性或方法与父类是两回事,互不相关,直接.age/.eat()访问的是自己的,加super.才访问父类的
查看全部 -
toString()方法
(对象)返回的是对象的哈希code码,即地址字符串
重写toString()方法,可以选择对象里的成员,返回成员的值
查看全部 -
A.equals(B) 判断两个对象的引用是否相同,即是否指向同一地址;
重写后的equals()判断的是两个对象内部的值是否相同
查看全部 -
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。
需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
查看全部 -
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
查看全部 -
创建静态内部类的对象的时候,不需要外部类的对象,可以直接创建,内部类 对象名=new 内部类()。
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
查看全部 -
定义成员内部类之后,必须使用外部对象来创建内部类对象,而不能直接new,即内部类 对象名=外部类对象.new 内部类()
外部类不能直接使用内部类的成员和方法。
外部和内部如果拥有相同的成员变量和方法,内部类默认使用自己的成员变量和方法,也可以使用this关键字
查看全部 -
访问修饰符:可以修饰属性和方法的访问范围
几类常见的访问修饰符:
查看全部 -
内部类有成员内部类,静态内部类,方法内部类,匿名内部类。内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问
查看全部 -
区分属性和参数,在属性前面加上this关键字,此时就可以将一个参数的值赋给属性
查看全部 -
包:可以管理java文件,可以解决同名文件的冲突。定义包必须放在源程序的第一行,包名之间可以用.隔开,比如com.imooc
java.(功能).(类)
java.lang.(类)包含java语言基础的类
java.util.(类)包含java语言中各种工具类
java.io.(类)包含输入、输出相关功能的类
包的命名规范是全小写字母拼写
查看全部
举报