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)的更多相关文章

  1. java 关键字final static native详解

    java 关键字native static final详解 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义, ...

  2. Java中 final static super this instanceof 关键字用法

    一.final关键字 final可以修饰变量.方法及类: 1.当定义一个final变量时,jvm会将其分配到常量池中,其所修饰的对象只能赋值一次,对基本类型来说是其值不可变,引用类型(包括作为函数形参 ...

  3. java - day008 -final ,static ,访问控制符.

    面向对象   封装         类: 模板         对象: 实例         引用,遥控器         构造方法                新建对象时执行           ...

  4. JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac

    记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...

  5. Java关键字final、static使用总结(转)

    原文链接:Java关键字final, static一些要点 1. final   final类不能被继承,没有子类,final类中的方法默认是final的 final方法不能被子类的方法复盖,但可以被 ...

  6. Java关键字final、static

    一.final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final ...

  7. 【转】Java关键字final、static使用总结

    转自:http://lavasoft.blog.51cto.com/62575/18771/   Java关键字final.static使用总结   一.final        根据程序上下文环境, ...

  8. Java关键字final、static使用总结

    Java关键字final.static使用总结   一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...

  9. 转!Java关键字final、static使用总结

    Java关键字final.static使用总结   一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...

  10. Java关键字final、static使用总结(转)

    Java关键字final.static使用总结   一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...

随机推荐

  1. Github的初始设置

    设置姓名和邮箱地址 git config --global user.name "Firstname Lastname" git config --global user.emai ...

  2. scala中停止循环的三种方式

    1:使用return关键字 object BreakLoop { //1.使用return关键字 def add():Unit= { for(i <- 1 to 10){ if(i==7){ / ...

  3. 三、hexo+github搭建个人博客的主题配置

    更换博客主题 主题可参考:https://hexo.io/themes/ hexo默认主题:Landscape 示例主题:Next 下载Next主题 进入Blog所在目录,输入下载命令 #进入Blog ...

  4. EF启程--概念理解(数据库连接)

    简介:Entity Framework 是一种支持 .NET 开发人员使用 .NET 对象处理数据库的对象关系映射程序 (O/RM). 它不要求提供开发人员通常需要编写的大部分数据访问代码. 其中有E ...

  5. .net core+topshelf+quartz创建windows定时任务服务

    .net core+topshelf+quartz创建windows定时任务服务 准备工作 创建.net core 控制台应用程序,这里不做过多介绍 添加TopShelf包:TopShelf: 添加Q ...

  6. ASP.NET Core中使用MialKit实现邮件发送

    # 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...

  7. Go 笔记之如何防止 goroutine 泄露

    今天来简单谈谈,Go 如何防止 goroutine 泄露. 概述 Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题.虽然 ...

  8. PIE截图方法的优化

    因为我们组的项目要通过截图获取数据,所以要经常使用截图工具,之前截图都是根据教程(https://www.cnblogs.com/PIESat/p/10243308.html)用的地图显示范围截图,而 ...

  9. QQ互联,填写回调时注意事项

    今天在做QQ登录接口的时候,填写回调地址的时候,竟然出现了诡异的事情. 我的回调地址我直接填的域名,也申请通过了.但是在做开发地时候,一直提示这蛋疼的  redirect uri is illegal ...

  10. Redis基本使用(一)

    redis window系统的redis是微软团队根据官方的linux版本高仿的 官方原版: https://redis.io/ 中文官网:http://www.redis.cn 1 redis下载和 ...