2019.3.13 final与static
final
当使用final修饰类的时候,表示类不能被继承(就是extends后面不能再加它了)
final 注意事项:
当使用final修饰时,该方法不能被子类重写
当一个方法被标记为private 那么也会被标记成final,该方法不能被被继承也不能被重写
当final修饰变量或属性时,该变量或属性的值无法被修改(可以叫做常量了)
测试样例
public final class Mosquito {
public final void fly(){
final int a = 0; //这个时候a就是0了
System.out.println("飞");
}
}
- 如果此时我新建一个Wenzi类extand 没有final修饰的Mosquito类,这个fly方法也不能被重写
static
static:系统关键字——静态方法
静态方法的特征:
- 不能直接访问同一个类的属性和非静态方法
- 可以在main中使用类直接调用方法
- 静态方法可以访问静态属性或者其他的静态方法
编写静态属性和静态方法样例
"Student.java"
public class Student {
private String gender;
private String name;
private String address;
private int age;
private static int b; //这个就是静态变量
public void sayHi(){
System.out.println("我叫" + name);
}
public static void aaa(){ //这个就是静态方法
System.out.println("bbb ohayou");
}
public Student() { //构造方法可以创建空的 方便使用new Student()创建对象
}
public Student(String gender, String name, String address, int age) {
this.gender = gender;
this.name = name;
this.address = address;
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
- "MainClass.java"
public class MainClass {
public static void main(String[] args) {
Student student = new Student();
student.setGender("男");
student.setName("张三");
student.setAddress("大连市沙河口区");
student.setAge(14);
student.aaa();//正常对象调用
Student.aaa();//静态方法可以直接使用类调用
}
}
- 样例输出
2019.3.13 final与static的更多相关文章
- 理解Java中的final和static关键字
回顾这两个关键字前,先考虑一个问题: Static变量存储在JVM中的位置,或者说static变量是如何被加载的? JVM会把类的静态方法和静态变量在类加载的过程中读入方法区(Method Area) ...
- Java:final、static关键字 详解+两者结合使用
一 final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...
- 每日一练ACM 2019.04.13
2019.04.13 第1002题:A+B Proble Ⅱ Problem DescriptionI have a very simple problem for you. Given two in ...
- 【转】Java关键字final、static使用总结
转自:http://lavasoft.blog.51cto.com/62575/18771/ Java关键字final.static使用总结 一.final 根据程序上下文环境, ...
- Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- Java基础-final和static的区别
很多时候会容易把static和final关键字混淆,static作用于成员变量用来表示只保存一份副本,而final的作用是用来保证变量不可变.看下面这个例子: public class Test { ...
- 转!Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...
- Java关键字final、static使用总结(转)
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- Java学习--final与static
final是java的关键字,它所表示的是“这部分是无法修改的”. 编译期常量,它在类加载的过程就已经完成了初始化,所以当类加载完成后是不可更改的,编译期可以将它代入到任何用到它的计算式中,也就是说可 ...
随机推荐
- PostgreSQL9.3+PostGIS2.1安装配置
Postgresql——Postgresql是一种对象关系型数据库.下载地址:http://www.postgresql.org/download/ postgis (可选)——是一个空间数据库,它扩 ...
- python操作Redis缓存
python操作Redis缓存 https://www.cnblogs.com/guotianbao/p/8683037.html 学习资料:电子书资源 联系邮箱:gmu1592618@gmail.c ...
- c# 获取非托管指针长度
public List<string> GetPDFValues() { List<string> strs = new List<string>(); unsaf ...
- sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法
sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法: 需要下载Emmet插件,按网上写的步骤按ctrl+shift+P打开命令面板,输入install,鼠标点击 ...
- 奇妙的 Storage::url
发现 这是我在做头像上传功能时发现的,下面是图片上传的业务逻辑. class AvatarController extends Controller { public function update( ...
- 手机APP兼容性测试
兼容性测试方案 兼容性问题 屏幕分辨率兼容性问题 软件(iOS和Android系统版本及不同厂家的定制ROM)兼容性问题 硬件(不同的CPU.内存大小等等)兼容性问题 网络(2G/3G/4G/WIFI ...
- POJ-3481 Double Queue (splay)
The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office in Bucharest, equipped w ...
- String类的subtring(,)
截取字符串,参数(起始位置,截取长度)
- 今天遇到的传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确的解决方案
传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确.参数 3 ("@UserName"): 数据类型 0xE7 的数据长度或元数据长度无效. 今天在做数据同步的时候遇 ...
- Castle Windsor
让我们从Web API的集成点开始,它们是IDependencyResolver和IDependencyScope接口.IDependencyResolver和其他接口的名称可能与MVC中的接口相同, ...