static:

1.1static修饰成员变量:

  • 使用static修饰的成员变量不在对象的数据结构,而是类的基本信息(参数)
  • 使用static修饰的成员可以直接使用,类名.成员的方式访问,而不需要再new对象了;
    • 使用static修饰的成员存储在方法区(方法区中的成员独一份),static修饰的成员只有一份;
    • static 中无this;
public class TestStatic {
static int age = 0;//存储在方法区 且独一份
int score = 0;
public TestStatic() {
age += 1;
score += 1;
}
public static void main(String[] args) {
new TestStatic();//age : 1 score : 1
new TestStatic();//age : 2 score : 1
System.out.println(TestStatic.age);//2
System.out.println(new TestStatic().score);//score : 1 age:3
}
}

1.2 static修饰方法:

  • static修饰的方法使用类名区调用,他不涉及对象的操作;
  • static一把用在工厂方法或者类中;
  • static方法不能调用非satic方法

1.3 static块和非static块:

static {
   //静态代码块
}
{
   //非静态代码块
}

静态代码块是属于类的一部分,在类加载期间就会执行完毕,一般用来加载静态资源(图片,音频等)

1.4 总结:

静态修饰的成员可以直接使用类名去调用

静态修饰的成员会优先加载,在类的加载期间就完成了加载

静态修饰方法不能调用非静态成员,但非静态方法可以调用静态的成员

静态修饰的成员存储在方法区中,且独一份

final:

2.1 final修饰变量:

  • final修饰的成员变量不可变;
  • 初始化的方式只有两种:
  • 声明时初始化和构造方法初始化

2.2 final修饰方法:

final修饰的方法不能被重写,意义:造成不经意的重写:

public final void show(){}//final关键字和public关键字顺序无关可以互换

2.3 final修饰类;

  • final修饰的类不能被继承;
  • 常见的final修饰的类由String,Math等等;
  • 意义:防止滥用继承,可以保护不被继承修改,降低对系统造成的危害

2.4 常量:

  • 常量:static final修饰的变量
  • 常量的命名规范为全大写;
  • 特点:初始化时只能通过在声明时初始化,否则会编译错误
  • 常量在编译时,会被提花为实际存储的值
 

static 和 final(java)的更多相关文章

  1. java笔记——Java关键字static、final使用小结

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  2. java中static 和 final 的一些使用规则

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  3. java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final

    一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...

  4. java里的static和final

    本节介绍JAVA里static和final的作用和使用方法以及一些需要注意的问题. 一.static static表示"全局"或"静态",用来修饰成员变量和成员 ...

  5. Java关键字static、final

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  6. Java中static、final用法小结

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  7. Java关键字static、final使用小结

    static  1. static变量     按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...

  8. Java之关键字static和final的使用

    static 在Java中声明属性.方法时,可使用关键字static来修饰. 1.static变量       按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或 ...

  9. Java中static、final用法

    一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引 ...

  10. Java中的static、final关键字

    static static 的含义是静态的,是一个静态修饰符,一般来说,被static修饰的有以下几种,类.变量.方法.代码块. static修饰类 Java中普通的类是不允许被声明为静态的,但是有一 ...

随机推荐

  1. 干货 | LVM快照学习

    一个执着于技术的公众号 前言 在上一章节,我们学习了LVM逻辑卷管理技术,知道了LVM能够通过增减PE的数量来弹性调整文件系统的大小.除此之外,LVM还有另一个重要功能「LVM快照技术」,也就是可以给 ...

  2. IOC创建对象的方式

    1,采用无参构造创建(默认) 2,假设我们要使用有参构造创建对象 (1)下标赋值 <!--第一种 下标赋值 --><bean id="user" class=&q ...

  3. vmware 虚拟机系统双屏或更多屏

    确保 VMware Workstation 软件已打开,且目标虚拟机已关机 编辑 > 首选项 > 显示 > 自动适应,确保 自动适应窗口.自动适应客户机 已勾选,点击 确定 保存 右 ...

  4. SRIO RapidIO (SRIO)协议介绍(-)

    1     导读 1.1    与PCIe的差异 典型的PCIe结构定义了一个以单个中央处理器为核心的计算机系统,比如我们常见的工控机.PXIe机箱控制器.服务器内的IO设备.从系统架构来看,这个结构 ...

  5. 2.0 vue循环和方法调用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Spring 中 @EnableXXX 注解的套路

    前言 在 Spring 框架中有很多实用的功能,不需要写大量的配置代码,只需添加几个注解即可开启. 其中一个重要原因是那些 @EnableXXX 注解,它可以让你通过在配置类加上简单的注解来快速地开启 ...

  7. Fail2ban 术语

    filter 过滤器,使用正则表达式定义一个过滤器,从日志中匹配到IP.端口等. action 动作,定义在指定时间段要执行的操作. jail 监禁,jail是一个filter和一个action或者多 ...

  8. 题解 P7075 [CSP-S2020] 儒略日

    当时考场上因为这个炸掉,一年后回来复仇. 这里提供一个与大多数人不一样的做法. 首先考虑一个简单一些的问题,怎么应付单个询问? 不难想到,我们对于一个日期,让他从 \(-4713\) 年 \(1\) ...

  9. consul系列文章02---替换掉.netcore的配置文件

    如果是开发微服务的项目,多个服务的配置管理起来比较麻烦,需要集中管理,也就是需要有配置中心: consul集成配置中心的思路:读取配置文件时不在从本地的应用中读取,而是从consul的KEY/valu ...

  10. 从单例谈double-check必要性,多种单例各取所需

    theme: fancy 前言 前面铺掉了那么多都是在讲原则,讲图例.很多同学可能都觉得和设计模式不是很搭边.虽说设计模式也是理论的东西,但是设计原则可能对我们理解而言更加的抽象.不过好在原则东西不是 ...