JAVA学习笔记-类与对象(final、静态字段、静态方法)

final字段

  • final字段修饰的对象必须在构造对象时初始化。这个字段的值在设置时,以后将不能再更改。
class Employee{
private final String name;
...
 }
  • final修饰符对于类型为基本类型或者不可改变的类的字段十分有用。对于可变的类,如果使用final修饰符将可能造成混乱,例如:
private final StringBuilder evaiuations;  
evaluations = new StringBuilder();
  • final关键字只是表示存储在evaluations变量中的对象引用不会再指示另一个不同的StringBuilder对象。

static字段

  • 如果将一个字段定义为static,那么每个类只有这样的一个字段,对于非静态的实例字段,每个对象都会有自己的一个副本。
class Employee{  
private static int nextID = 1;  
private int id;...
}

对于每个Employee对象都会有自己的id字段,但是这个类的所有实例将会共享一个nextID字段。如果有100个Employee对象那么将会有100个id实例,分别对应一个对象。但是只有一个nextID。即使没有Employee对象,nextID也会存在,此字段不属于任何对象,而属于类。

static 常量

静态变量用的相对较少,但是静态常量用的较多。例如:

public calss Math{
...
public static final double PI = 3.1415926;
...}

在程序中可以使Math.PI来访问这个常量,如果没有static关键字,那么PI就变成了Math类的一个实例字段。需用通过Math类的一个对象来访问PI。

static方法

  • 静态方法是不在对象上执行的方法。可以认为静态方法是没有this参数的方法,Employee类的静态方法不能访问id实例字段,因为它不能再对象上执行操作。但是,静态方法可以访问静态字段。
public static int getNextId(){
return nextId;//return static field}

可以提供类名来调用此方法:

int n = Employee.getNextId();

此方法可以省略关键字static。

  • 有两种情况·可以使用静态方法:
    方法不需要访问对象状态,因为她需要的所有参数有通过显式参数提供。
    方法只需要访问类的静态字段。

main方法

  • main方法是一个静态方法。
 public class Application{
 public static void main(String[] args){
 //consttruct objects here
 	}
 }

main方法不对任何对象进行操作,再启动程序时还没有对象,静态的main方法将执行并且构造程序所需要的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值