内部类
调用内部类的成员变量或函数的方法:
-
在外部类先按常规调用,再在主函数里调用外部类间接调用内部方法。
-
直接外部调用法:
Outer outer=new Outer(); Outer.Inter inter=outer.new Inter(); inter.show();
包装类
地址
- 空字符串不能使用equals();
- 常量的地址是不变的(等号判断的为是否指向同一个地方)
{
String s1 = "ab";
String s2 = new String("ab");
System.out.println(s1 == s2);//ture;
}
{
String s1 = "ab";
String s2 = "AB".toLowerCase();
System.out.println(s1 == s2);//false;
}
接口
- 接口关键字 interface,实现关键字 implements。
- 接口中变量默认都是final static ,方法都是抽象的。
- 须先继承后接口。
- 接口本身可实现多继承。
- 结口本身不能创建对象,须向下上转型(实现其接口本身的类People people=new Student())创建对象。
- 类可实现多接口,单继承。
final
static
-
static成员变量:
静态变量的引用有两种方式,分别是“类.静态变量"和”对象.静态变量"它在内存中只有一个复制
实例变量(非静态变量)属于对象,只有对象被创建后,实例变量才会被分配内存空间,才能被使用,它在内存中存在多个复制,只有用“对象.实例变量”的方式来引用。 -
static成员方法:
Java中提供了static方法和非static方法。static方法是类的方法,不需要创建对象就可以被调用,而非static方法是对象的方法,只有对象被创建出来后才可以被使用
static方法中不能使用this和super关键字,不能调用非static方法,只能访问所属类的静态成员变量和成员方法,因为当static方法被调用时,这个类的对象可能还没被创建,即使已经被创建了,也无法确定调用哪个对象的方法。同理,static方法也不能访问非static类型的变量。
‘\’为转义符,使用时必须要用“\”就表示(“\n“和‘\n’都表示换行) -
static代码块
static代码块在类中是独立于成员变量和成员函数的代码块的。注意:这些static代码块只会被执行一次 -
static与final结合使用表示的意思:
对于变量,若使用static final修饰,表示一旦赋值不能修改,并且通过类名可以访问。
对于方法,若使用static final修饰,表示该方法不可被覆盖,并且可以通过类名直接访问。
super
注意:在构造方法中,父类构造方法应放在第一句。