static final java_Java-static、final(示例代码)

本文详细解析了Java中的静态特性,包括static修饰的属性(静态属性)、静态方法、静态变量的使用和访问方式,以及final关键字在变量、方法和类上的应用。通过实例展示了如何在类设计中合理使用静态元素,以及常量的声明和维护。
摘要由CSDN通过智能技术生成

static

1)static:静态的(类有关的)

2)可以用来修饰属性:被static修饰的属性,称为静态属性,该属性跟类有关,跟对象无关

3)访问静态属性:类名.属性名

或 对象名.属性名(使用较少)

4)实例变量:就是没有用static修饰的属性,跟对象有关

public classTest1 {public static voidmain(String[] args) {

User user=newUser();

user.name="刘";

user.age=12;

User.num=100;

}

}classUser{

String name;//实例变量

int age;//实例变量

static int num;//人数 静态属性

}

public classTest1 {public static voidmain(String[] args) {

Student student=new Student("公孙瓒","男",45);

System.out.println(Student.num);//1

Student student2=new Student("刘备","男",41);

System.out.println(Student.num);//2

Student student3=new Student("左慈","男",39);

System.out.println(student3.num);//3

}

}//设计一个学生类,属性:姓名,性别,年龄,人数(静态)//构造方法(姓名,性别,年龄)//统计出来总的人数(对象的个数,每次调用都会创造一个新的对象)

classStudent{

String name;

String sex;intage;static int num=0;

String address;//在构造方法当中,添加num++,这样每次创建新的对象的时候,num的值都会加1

Student(String name,String sex,intage){this.name=name;this.sex=sex;this.age=age;

num++;

}

}

5)静态方法:用static修饰的方法,叫做静态方法,静态方法跟类有关,跟对象无关

6)访问静态方法:类名.静态方法名

或 对象名.静态方法名(不推荐)

public classTest1 {//用static修饰任何变量或方法:在内存都有单独的存储空间,外界可以通过类名直接去访问

public static voidmain(String[] args) {

Coo.show();

}

}classCoo{static voidshow(){

System.out.println("今天是个好天气");

}

}

总结:用static修饰变量或者方法,不用创建也可以直接访问。static修饰的变量或方法跟类有关,而对象无关。

7)静态方法不可以访问实例变量:实例变量跟对象有关,只有当创建对象,才有该实例对象。静态方法跟类有关,不需要创建对象,就可以直接访问静态的方法

8)静态方法可以访问静态变量

public classTest1 {public static voidmain(String[] args) {

Emp.salary();

Emp emp1=new Emp("公孙瓒","男",45);

Emp emp2=new Emp("刘备","男",41);

Emp emp3=new Emp("左慈","男",39);

Emp.salary();

}

}//设计一个雇员类,属性:姓名,性别,年龄,人数(静态)//方法:求总的员工的薪水(每人工资月薪100000)

classEmp{

String name;

String sex;intage;static intnum;

String address;

Emp(String name,String sex,intage){this.name=name;this.sex=sex;this.age=age;

num++;

}static voidsalary(){int sum=num*100000;

System.out.println(sum);

}

}

final

final:最终的,最后的

1)final可以修饰变量(属性),方法,类

2)用final修饰变量,初始化以后,其值不能再被修改

public classTest1 {public static voidmain(String[] args) {

Zoo zoo=newZoo();//zoo.num1=1200;//报错

final int a=12;//用final修饰变量:初始化以后,也不能修改了//a=35;报错

}

}classZoo{//final修饰属性:被final修饰的属性,初始化以后不能再被修改

final int num1=1000;

}

3)java中常量:其值永远都不会变的量,称为常量

标准:static final修饰属性-----常量

public classTest1 {//常量的标准格式:static+final属性//常量名字一定大写

public static voidmain(String[] args) {

System.out.println(Yoo.NAME);

}

}classYoo{//final static/static final

final static String NAME="刘英谦";//常量的名字,字母全部大写//final+属性:从语法上是常量,企业开发中,一般都是加上static以后,才称为常量

}

4)final修饰方法,不可以被子类重写(覆盖)

public classTest1 {public static voidmain(String[] args) {

Too2 too=newToo2();

too.show();

}

}classToo1{final voidshow(){

System.out.println("今天是个好天气");

}

}class Too2 extendsToo1{//void show(){--报错//System.out.println("天气好好");//}

}

5)final修饰类,不能再给继承,该类不能再有子类了

public classTest1 {public static voidmain(String[] args) {

}

}final classVoo1{

}//class Voo2 extends Voo1{}//--报错

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值