1.书中的域(Field)
在一开始对书中描述的-类的域,这一个词表示迷糊,域是什么?
结果查了一下发现,其实是Field,是field那么就好理解了 。
field:可以是一种属性,可以是一个类变量,可以是一个对象变量,可以是一个对象方法变量、可以是一个函数的参数,然后统称为域 。
【基础概念:书中的域、final关键字】所以,比如 int xx之类的都可以称为域
2.final关键字
final顾名思义最终的意思,不过根据它修饰的对象不同,它有不同的作用
2.1:final修饰类
如果final修饰了一个类(class),那么这个类就不会被继承,也就是这个类不能当做父类
2.2:final修饰方法(函数)
如果final修饰一个方法,那么这个方法是无法被重写的(无法覆盖的)
这个是针对子类的,子类如果继承了父类,子类想重写父类中的final修饰的方法,那么是无法重写的
2.3:final修饰域(类变量、属性等)
文章插图
如果final修饰一个域,那么那个域只能被赋值一次,赋值后值不再改变 。
也就是final要求域指向的地址的值不能发生改变 。
修饰类的域(类的属性)时必须初始化,初始化有两种:一种是定义时就直接赋值了,一种是构造器对这个域初始化 。初始化后值就不能再改变 。
当然如果final修饰的是一个类的对象时,对象中的内容还是可以修改的 。实际代码如下:
public class test3{private int year;private String name;public test3() {}public test3(int year, String name) {this.year = year;this.name = name;}public int getYear() {return year;}public void setYear(int year) {this.year = year;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "test3{" +"year=" + year +", name='" + name + '\'' +'}';}}
public class myTest1 {public static void main(String[] args) {final test3 test=new test3(2019,"沙丁鱼flat");test.setYear(2020);System.out.println(test);}}
- Arduino基础入门之十 红外遥控1位数码管的显示
- 生涯规划咨询权威证书BCC
- 三 Python神经网络学习--机器学习--西瓜书学习笔记
- 学电脑零基础怎样才可以快速学
- IB中文书单拟定要考虑六大方面
- 技巧 电脑打字入门基础知识
- 电气和电器概念的区别
- 读书 | 设计模式之禅 - 责任链模式
- 一 语音识别基本概念
- C语言项目实战:《连连看》基础项目丨460 行源码注释