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
}
}
转载于:https://www.cnblogs.com/Chenglei789/p/7562553.html
Java中的关于static的解释和应用相关推荐
- 深入分析Java中的关键字static
深入分析Java中的关键字static 一.static关键字的基本用法 1.static关键字基本概念 方便在没有创建对象的情况下来进行调用.也就是说:被static关键字修饰的不需要创建对象去调用 ...
- Java中的public static final来修饰数组与接口变量
Java中的public static final来修饰数组与接口变量 public static final来修饰数组 final对数组的作用 怎样实现对数组的public static final ...
- java中的关键字static
原文链接: https://zhuanlan.zhihu.com/p/70110497 昨晚面试中被问到,没能回答出来.这篇答疑文章写得非常好,无一字可增删,遂直接复制. 在平时开发当中,我们经常会遇 ...
- 一语点破 Java 中的静态 static 关键字
来源 | blog.csdn.net/ju_362204801/article/details/90738966 思考:大家有没有想过一个问题,静态它为什么叫静态?因为书上或者别的文章里这么写的都这么 ...
- 一语点破Java中的静态static关键字
作者:嗑嗑磕嗑瓜子的猫 blog.csdn.net/ju_362204801/article/details/90738966 思考:大家有没有想过一个问题,静态它为什么叫静态?因为书上或者别的文章里 ...
- java中的静态块static{}及this,super,final的用法总结
Code public class TestSquence { public static void main(String[] args) { /* * 给初学者的问题:把下面两行中的一行 ...
- Java中的包(package)详情解释
一.Java 包(package) 为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间. 包的作用 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2.如同文件夹一 ...
- java中final,static,this,supper关键字的异同
final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参或类变量):引用不可以 ...
- 对java中public、static的理解
原帖:https://blog.csdn.net/v7595v/article/details/45845347 首先是public 在说明这四个关键字之前,我想就class之间的关系做一个简单的定 ...
最新文章
- 深度好文丨区块链将彻底改变人工智能
- 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- linux shell 编码规范
- 全球及中国木材加工行业运行状况与投资产值预测报告2022版
- MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?
- vue使用高德地图画电子围栏_Vue.js 中使用高德地图定位及渲染地图
- Ubuntu系统(四)-修改主机名和配置DNS上网
- html生成pdf字体错误,使用wkhtmltopdf时显示为PDF的错误字体
- 使用javascript实现对于chineseocr的API调用
- 强化学习经典算法笔记(十七):A3C算法的PyTorch实现
- ubuntu 18.04 安装谷歌输入法
- 47、建筑设置避难间时,对避难间的要求
- 大二学生2021的坎坷之路(他会晋升吗?)
- Cocos2d-x 3.x中解决无法打开文件:“extensions/ExtensionMacros.h”
- Vue笔记_01双向数据绑定原理
- JS单击/双击编辑功能
- 直播系统---从数据层设计的角度看映客直播系统架构变化
- C Primer Plus 第三章编程练习一
- php手机建站,zzzphp免费开源建站系统含手机站
- 霍常亮教你开发淘宝客app第3节
热门文章
- 图像对象paip.Image对象出现“对象当前正在其他地方使用或者GDI+中发生一般性错误的解决...
- Entity Framework中IQueryable, IEnumerable, IList的区别
- 何谓程序员?何谓中国的程序员?
- AI领域内,敢和BAT决斗的创业公司都在这了!
- Openstack虚机实例状态错误手工恢复vm_state:error
- 解决Uncaught SyntaxError: Unexpected token var报错问题
- 项目经理面试中可能遇到的问题
- Shiro快速入门 —— 9.freemaker使用shiro标签
- Linux下Rsync+Inotify-tools实现数据实时同步
- Zabbix安装(十):监控windows进程