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修饰

在主方法之前执行且只执行一次,可以用于给静态变量赋值,或者对类进行初始化

 

posted @ 2020-09-29 17:26  ldldl  阅读(95)  评论(0)    收藏  举报