java中static的特点和应用_Java中的关于static的解释和应用

1.什么是高级类的特性修饰符?分别可以修饰哪些内容?

答:1). static: 修饰属性、方法、块、内部类

2). final: 修饰类、常量属性、方法、局部常量

3). abstract: 修饰类、方法

4). synchronized: 修饰方法、同步代码块

2.什么是static?

答:static被称为静态,可以用来修饰类的属性和方法。

3.什么是static属性?

答:如果类的某个属性,不管创建多少个对象,属性的存储空间只有唯一的一个,那么这个属性就应该用static修饰,被static修饰的属性被称为静态属性。

*static属性可以使用对象调用,也可以直接用类名调用。

*静态属性是类的所有对象共享的,即不管创建多少个对象,静态属性在内存中只有一个。

例:public class Employee{

非静态 private string name;

属性  private double salary;

属性   private static int count;

4.什么是静态方法? 并且举例说明各部分是什么?

答:如果某个方法不需要与某个特定的对象绑定,那么该方法可以使用static修饰,被static修饰的方法称为静态方法。

例:

Public  static  void   sellticket(){

System.out.println(“所有火车票都是12306卖的”);

}

5.如何使用static方法?

答:如果某个方法与实例无关,也就是说不管哪个对象调用这个方法,都执行相同的操作,与对象没有关系,则应该定义为静态方法。不需要创建对象后再使用该方法。

例:API中的Math类,都是静态方法,因为进行数学运算时,与Math对象本身无关,使用类直接调用即可。

**1.任何方法都可以直接调用静态方法。

2.静态方法不能直接调用非静态方法,需要创建对象,用方法名调用非静态方法。

6.什么是static块?如何在编译器中使用?请举例说明。还有哪些注意事项?

答:static块和static的属性以及方法的性质是相同的,用static修饰的代码块表示静态代码块,当Java虚拟机加载类时,就会执行该代码块。

例:直接在代码块前,加上关键字static即成为静态块。

Static{

System.out.println(“123”);

System.out.println(“123”);

System.out.println(“123”);

}

注意:1).静态块只有在类加载的时候被执行一次,不管创建多少个对象,都不会再执行。

2). 如果一个类加载的时候,总要预先做一些事情,则可以放在静态块中,例如,读取一个属性文件,进行一些常规配置,写一些日志等。

3).一个类中可以有多个静态块,按照顺序执行。

7. 什么是final?如何使用final?

答:final用于声明属性,方法和类

1).属性:定义就必须直接赋值或者在构造方法中进行赋值,并且后期不能修改。

2).方法:定义必须有实现代码,并且子类里不可被覆盖。

3).类:不能被定义为抽象类或是接口,不可被继承。

8.如何使用final修饰属性?

答:当final修饰属性时,基本数据类型的属性将成为常量,不能被修改。

例:* π= 3.14159265358979

E= 2.718281828459045

9.如何给final属性赋值?

答:1).在声明时同时赋值,往往与static一起使用

例:private int index;

private static final double pai = 3.14;

private final int level;

2).声明时不赋值,必须在构造方法中逐一赋值

Public Test(){

Level = 0;

}

3).总的原则:保证创建每一个对象的时候,final属性的值是确定的。

public Test(int index){

this.index = index;

Level = 1;

}

10.如何使用final修饰参数?

答:在方法参数前面加final关键字,为了防止数据在方法体中被修改。

public class Ex{

private int a = 1;

private String b;

Public void ww(final int a){

a = 12;

}

}

11.如何在编译器中使用变量和常量?

答:按作用域区分

Public class Employee{

Private String name;

Private double salary;

Private static int count;

Public void work(String leader){

String taskname = null;

//1).在类中声明的变量或常量叫属性,或者叫成员变量,如:name,salary,count

2).属性可以使用static修饰,局部变量不可以。

3).属性的生命周期很长,随着类加载或者创建对象被初始化,直到没有对象引用才回收。

4).在方法中声明的变量叫局部变量,或者临时变量。

5).属性可以使用四种权限修饰符修饰局部变量不可以。

6).属性可以使用final修饰,局部变量也可以

7).局部变量生命周期很短,执行某个方法时临时被初始化,方法结束即被回收。

8).如果局部变量与属性重名,则遵守就近原则,可以使用this区分。

9).属性可以在整个类中使用,局部变量只在当前方法中使用

10).属性都有默认的初始化值,如引用类型都是null,整型是0等,局部变量不被自动初始化,必须手工初始化,如taskname手工指定为null才为null,而属性name默认就为null

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值