java
stitic(静态)
被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量)
修饰成员变量,如:public static int a=1;
调用时使用类名.a,也可以创建对象后使用对象名.a调用,但是程序会报警告,不建议使用
修饰成员方法,如:public static void get(){
System.out.println("静态方法");
}
调用时使用类名.get();同样也可以创建对象后使用对象名.get();程序会报警告,不建议使用
特点
由于静态先于对象存在,所以静态只能访问静态不能访问非静态;非静态可以访问静态
多态调用方法时为编译看左边,运行看右边,但是静态方法除外,多态调用静态方法时全看左边
定义静态常量
public static final 数据类型 变量名 = 值;
其中变量名只能用大写,多个单词时使用下划线连接
匿名对象
格式:new 数据类型();
由于只有一个地址值且没有赋给变量,因此只能使用一次;可以用来作为方法的返回值或者参数使用
内部类
概念:将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。其他类也称为外部类。根据内部类所在位置分为了成员内部类和局部内部类
成员内部类
定义格式
修饰符 class 外部类名{
修饰符 class 内部类名{
}
}
修饰符不能同时为public
访问格式
外部类名.内部类名 变量名=new 外部类名().new 内部类名();
局部内部类
定义格式
修饰符 class 外部类名{
修饰符 返回值类型 方法名(形参){
修饰符 class 内部类名{
}
创建内部类对象
内部对象调用内部类中的方法
}
}
访问时创建外部类对象,调用包含内部类的方法
实际应用(匿名内部类)
格式
外部类名 变量名=new 父类名或接口名(){
方法重写
};
访问修饰符
public:可以在任意类中访问
protected:可以在同包和不同包的子类中访问
默认:只能在同包的类中访问
private:只能在本类中访问
代码块
局部代码块:定义在方法或语句中
以{}划分区域,使区域内的变量不能被区域外访问
构造代码块:定义在成员的位置
与构造方法相同,在创建对象时执行,每创建一个对象执行一次且在构造方法之前执行
静态代码块:定义在成员的位置,用static修饰
在主方法之前执行且只执行一次,可以用于给静态变量赋值,或者对类进行初始化

浙公网安备 33010602011771号