学习笔记第五天
一、
1、外部类不能用static修饰。
//实例化内部类,必须先实例化外部类,再实例化内部类。
tex1.demo demo=new tex1.new.demo();
2、static出现在属性,方法,内部类前面。
3、构造方法是优化//单例设计模式(单子)
//构造器私有
//一个本类静态属性。
//通过一个方法返回一个自身的对象。
(1)、
public class Single{
private Single single=new Single();
private Single(){
}
public static Single GetSingle(){
return single;
}
}
(2)、
public class Single{
private Single single=null;
private Single(){
}
public static Single GetSingle(){
if(single!=null){
return single;
} else{
return new Single();
}
return single;
}
}
二、
可变参数
public static void getInt(int... sr)
{
for(int i:sr){
System.out.pringln(i);
}
}
自动装箱、拆箱。//简单数据类型,复杂数据类型可以自动转换。
int i =new Integer(3);
Integer t=4;
三、
1、泛形
ArrayList<String> list=new ArrayList();
list
2、注解:给编译器看的。
3、代码块:
游离块 //创建对象对象的时候执行
{
}
构造代码块
静态代码块
普通代码块
*静态代码块导入
*执行顺序:1、静态代码块
2、游离块
3、构造代码块
4、普通代码块
*classforname 把类放入内存但不执行。
四、类、内部类、局部内部类、匿名内部类
方法里定义内部类 //局部内部类。
*局部内部类中如果调用方法的局部变量,则该变量必须被声明为
final类型。或者把该变量定义为成员变量。
五、
1、内存中开辟空间,
2、设置实例变量的值为缺省的初始值。
3、调用对象的构造器,绑定构造器参数。
4、如果构造器中的this()调用,则根据this()调用的参数调用相对
应的重载构造器,然后,转到步骤6、否则转到步骤5。
5、出java.lang.Object类外,调用父类的中的初始化块初始化父类
的属性,然后调用父类的构造器,如果在构造器中有super()调用,则
根据super()中的参数调用父类中相对应的构造器。
6、使用初始化程序和初始化块初始化成员。
7、执行构造器方法体中的其他语句。
六、
1、final修饰属性,相当于定义常量;//常量通常定义成静态的,
static
final修饰方法,则方法不能被重写(覆盖);
final修饰类,则该类不能被继承。
七、
1、接口中的属性默认是一个静态常量
//接口中的属性全是静态常量
//接口中的方法都是抽象方法。
2、理解上,可以认为如果抽象类中所有的方法都是抽象方法,则这
个抽象方法可以定义为接口
//实际上,接口不是类,接口就是接口,接口是一种规范。
//类,单根继承,但是接口可以实现多个接口
*接口不从object继承。
浙公网安备 33010602011771号