学习内容:

一、final变量

1.设定为final的变量,其值不可被改变。

2.final定义的变量必须在声明时对其进行赋值操作。

3.final可以修饰对象。被修饰为final的对象,只能恒定指向一个对象。

4.一个既是final又是static的字段只占一段不能改变的存储空间。

5.定义final常量时需要用大写字母命名,并且中间使用下划线连接,这是Java中的编码规则。

下面通过一段代码区分定义为final与定义为static、final的不同:

package final相关知识;

import java.util.Random;

public class FinalStaticData {

private static Random rand=new Random();//实例化一个Random类对象
private final int a1=rand.nextInt(10);//产生一个0~10的随机数
private static final int a2=rand.nextInt(10);//产生一个0~10的随机数
public static void main(String[] args) {
FinalStaticData data1=new FinalStaticData();
System.out.println("a1产生的随机数为:"+data1.a1);
System.out.println("a2产生的随机数为:"+data1.a2);

FinalStaticData data2=new FinalStaticData();
System.out.println("a1产生的随机数为:"+data2.a1);
System.out.println("a2产生的随机数为:"+data2.a2);
}

}

运算截图:

由程序可见,每次重新实例化对象时定义为final的常量a1的值都会改变,而定义为static、final的常量a2的值不变,因为在内存中为a2开辟了一个恒定不变的区域。

二、final方法

1.定义为final的方法无法被重写。

2.定义为final的方法执行效率更高。

3.一个被private修饰的方法隐式被指定为final类型。

三、final类

1.定义为final的类不能被继承。

2.final类的语法:

final 类名{}

3.如果将某个类设置为final类型,其所有方法都被设置为final类型,但其成员变量可以自定义。

明天任务:内部类

final变量、方法与类的更多相关文章

  1. Java中final关键字修饰变量、方法、类的含义是什么

    Java中的关键字final修饰变量.方法.类分别表示什么含义? 先看一个简单的介绍 修饰对象 解释说明 备注 类 无子类,不可以被继承,更不可能被重写. final类中的方法默认是final的 方法 ...

  2. 关键字final 分别修饰一个类,一个方法,一个变量,各起什么作用

    关键字final 分别修饰一个类,一个方法,一个变量,各起什么作用 解答:final修饰类是不能被继承 fianl修饰方法不能在子类中被覆盖 final修饰变量,称为常量,初始化以后不能改变值.

  3. 面向对象编程(四)继承,概念及super关键字,final关键字,Object类常见方法

    继承 概念: ①   继承背后的思想就是基于已存在的类来构建新类; ②   当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求; ③   当从其它类导出的类叫作子 ...

  4. eclipse快速查找一个变量、方法或者类被引用的地方

    最近不停debug,拿到一个变量之后总是要先概览一下才好下手,之前一直用Ctrl+F来做,太麻烦.今天查了下eclipse使用,发现有快捷键,使用方法: 先双击要查看的变量.方法或者类,使之被选中,然 ...

  5. this、static、main方法、静态代码块、final关键字、Runtime类、Cloneable类、类成员的访问控制权限、异常体系

    this表示当前对象,用在方法内部,当某对象调用该方法时,该方法中的this就代表调用该方法的对象: static关键字: 修饰类属性后,该属性就成为该类所有实例的公共属性,修改该属性值,所有的实例的 ...

  6. eclipse高速查找一个变量、方法或者类被引用的地方

    近期不停debug,拿到一个变量之后总是要先概览一下才好下手,之前一直用Ctrl+F来做,太麻烦. 今天查了下eclipse使用,发现有快捷键,用法: 先双击要查看的变量.方法或者类,使之被选中,然后 ...

  7. 带有public static void main方法的类,其中的成员变量必须是static的,否则main方法没法调用。除非是main里的局部变量。因为main方法就是static的啊。

    带有public static void main方法的类,其中的成员变量必须是static的,否则main方法没法调用.除非是main里的局部变量.因为main方法就是static的啊.

  8. JSP变量、方法和类的声明,JSP程序片,JSP表达式

    参考文章 http://c.biancheng.net/view/1431.html http://c.biancheng.net/view/1433.html http://c.biancheng. ...

  9. [Objective-c] 002_对象 类 变量 方法

    接触过Java的对面向对象应该是熟悉不过了, Objective-C也是面向对象的. 类 对象 变量 方法 Objective-c 中如何定义一个类? .h文件 #import <Foundat ...

随机推荐

  1. 让你熟知jquery见鬼去吧

    $是jquery最具代表的符号,当然php也是,但是二者不能同日而语;不得不说jquery的选择器是大家赞不绝口的,在它1.x版本中对ie兼容性是最好的,这要归功于$选择器; 现在呢,html5的降临 ...

  2. 原生ES6写的Web游戏:ES6-Mario,小美女,小帅哥快来玩啊~~

    ? ES6-Mario 这是一个用原生ES6语法和HTML5新特性写成的Web 游戏. 通过这个项目,你可以在实践中对ES6的主要内容.HTML Canvas 相关API以及Webpack的基础配置有 ...

  3. 我的python学习记_01

    一切的开始都是从打招呼开始的,python也不例外,首先和将要陪伴我后半生的朋友说句情话: print("不是在最美好的时光遇见你,而是因为遇见你才让我有了最美好的时光") 初写代 ...

  4. 定时-TimerTask

    /** * @param args * @throws InterruptedException */ public static void main(String[] args) throws In ...

  5. JavaScript实现有农历和节气节假日的日历

    运行效果: 源代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content ...

  6. VUE3 之 使用 Mixin 实现代码的复用 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:舍得舍得,先舍才能后得. 言归正传,今天我们来聊聊 VUE 中使用 Mixin 实现代码的复用. 2. Mixin 的使用 2.1 不使用 Mixin 的写法 <body ...

  7. 解决“WARNINGThe remote SSH server rejected X11 forwarding request.“警告

    使用xshell连接服务器时,出现了"WARNING! The remote SSH server rejected X11 forwarding request.",意思是&qu ...

  8. Python入门-系统模块time

    1.time模块 时间戳:1970年,1月1日开始时间元祖:包含日期,时间,保存日期结构的元祖对象格式化时间日期:按照指定的标记进行格式化处理 时间戳 import time time_num = t ...

  9. openfeign使用踩坑记录

    1.报ClassNotFound com.netflix.config.CachedDynamicIntProperty问题,原因是spring-cloud-starter-openfeign的spr ...

  10. JavaScript学习总结1-字符、数字

    1.严格检查模式 JavaScript是一种十分随便自由的语言 1 <script> 2 console.log(i); 3 </script> 即使没有定义i变量,也能在控制 ...