java 补充(final、static)
final 固定的
final 修饰类的时候,只能作为子类继承,不能作为父类。
final 定义变量时,必须给成员变量赋值。------ 1.直接赋值 2.构造方法。
final 修饰成员方法时,该方法不允许被重写。重写父类方法后,可以增加final。
final 修饰局部变量 1.基本数据类型 2.引用数据类型 ;定义时可以不赋值,使用时再赋值,但一次赋值终身不变。
public class Son {
private final int a;
public Son() {
this.a=0;
}
public Son(int a) {
this.a = a;
}
public final void eat() {
System.out.println("eat");
}
public void sleep() {
System.out.println("sleep");
}
}
public class Gson extends Son{
public final void sleep() {
}
}
public class Demo01 {
public static void main(String[] args) {
//final 修饰局部变量 1.基本数据类型 2.引用数据类型
//定义时可以不赋值,使用时再赋值,但一次赋值终身不变。
final int a;
a=1;
final Person p=new Person();//p存的是地址
p.setName("小红");
p.setAge(10);
}
}
static 静态修饰
被静态修饰的成员变量属于这个类。
访问静态成员变量时,使用:类名.成员名
同一个类中,静态成员只能访问静态成员,但不可以访问非静态成员;非静态成员可以访问静态成员。
静态成员不能使用 this/super 。
main方法为静态方法仅仅为程序执行入口,它不属于任何一个对象,可以定义在任意类中。
------------------ 多态调用方法中,编译看=左边,父类有,编译成功,父类没有,编译失败
运行,静态方法,运行父类中的静态方法,
运行,非静态方法,运行子类的重写方法。
成员变量,编译运行全是父类。
public static final double b=3.14;//静态常量
public class Student {
private String name;
private int age;
public static String schoolName;//静态修饰:所有对象的共享数据
public static void eat(){
System.out.println("eat");
}
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static String getSchoolName() {
return schoolName;
}
public static void setSchoolName(String schoolName) {
Student.schoolName = schoolName;
}
}
public class Demo01 {
public static void main(String[] args) {
Student s1=new Student("邢",20);
Student s2=new Student("刘",18);
Student.schoolName="北京大学";//改一个所有的都变,全部共享
System.out.println(s1.getName()+" "+Student.schoolName);
System.out.println(s2.getName()+" "+Student.schoolName);
Student.eat();
}
}
java 补充(final、static)的更多相关文章
- java 关键字final static native详解
java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...
- Java中 final static super this instanceof 关键字用法
一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参 ...
- java - day008 -final ,static ,访问控制符.
面向对象 封装 类: 模板 对象: 实例 引用,遥控器 构造方法 新建对象时执行 ...
- JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac
记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...
- Java关键字final、static使用总结(转)
原文链接:Java关键字final, static一些要点 1. final final类不能被继承,没有子类,final类中的方法默认是final的 final方法不能被子类的方法复盖,但可以被 ...
- Java关键字final、static
一.final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final ...
- 【转】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使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...
- Java关键字final、static使用总结(转)
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
随机推荐
- Github的初始设置
设置姓名和邮箱地址 git config --global user.name "Firstname Lastname" git config --global user.emai ...
- scala中停止循环的三种方式
1:使用return关键字 object BreakLoop { //1.使用return关键字 def add():Unit= { for(i <- 1 to 10){ if(i==7){ / ...
- 三、hexo+github搭建个人博客的主题配置
更换博客主题 主题可参考:https://hexo.io/themes/ hexo默认主题:Landscape 示例主题:Next 下载Next主题 进入Blog所在目录,输入下载命令 #进入Blog ...
- EF启程--概念理解(数据库连接)
简介:Entity Framework 是一种支持 .NET 开发人员使用 .NET 对象处理数据库的对象关系映射程序 (O/RM). 它不要求提供开发人员通常需要编写的大部分数据访问代码. 其中有E ...
- .net core+topshelf+quartz创建windows定时任务服务
.net core+topshelf+quartz创建windows定时任务服务 准备工作 创建.net core 控制台应用程序,这里不做过多介绍 添加TopShelf包:TopShelf: 添加Q ...
- ASP.NET Core中使用MialKit实现邮件发送
# 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...
- Go 笔记之如何防止 goroutine 泄露
今天来简单谈谈,Go 如何防止 goroutine 泄露. 概述 Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题.虽然 ...
- PIE截图方法的优化
因为我们组的项目要通过截图获取数据,所以要经常使用截图工具,之前截图都是根据教程(https://www.cnblogs.com/PIESat/p/10243308.html)用的地图显示范围截图,而 ...
- QQ互联,填写回调时注意事项
今天在做QQ登录接口的时候,填写回调地址的时候,竟然出现了诡异的事情. 我的回调地址我直接填的域名,也申请通过了.但是在做开发地时候,一直提示这蛋疼的 redirect uri is illegal ...
- Redis基本使用(一)
redis window系统的redis是微软团队根据官方的linux版本高仿的 官方原版: https://redis.io/ 中文官网:http://www.redis.cn 1 redis下载和 ...