thinking in java 学习5

关于在编程中是否使用继承:在面向对象的编程中,判断是否需要使用继承时,就问一下你是不是需要把新类向上转型为基类,如果你必须向上转型,那么继承就是必须的,如果不需要,那么就该再看看是不是应该用继承了。

Final关键字:(final表示不变,static表示只有一个)

Final的数据:final修饰的数据称为常量。常量能用于下列两种情况:

1、可以是“编译时的常量”,这样就再也不能改了。

2、可以是运行时初始化的值,这个值你以后就不想再改了。

如果是编译时常量,编译器会把常量放在算式里面,这样编译的时候就能进行计算。在java中这种常量必须是基本类型的,这种常量的赋值必须在定义的时候进行。一个既是static又是final的数据成员会只占据一段内存,并且不可修改。

当final是用于对象的引用的时候,final的意思是这个引用是常量。初始化时,一旦将引用连接到了某个对象,那么它就再也不能指向别的对象了,但是这个对象本身是可以修改的。(引用是常量,不能指向其他的对象,但是对象本身还是可以修改的)。你一定得为final数据赋值,要么是在定义数据的时候赋值,要么是在构造函数里面进行赋值。为了确保final数据在使用之前已经进行了初始化,这一要求是强制性的。

Final的参数:java允许在参数表中声明参数是final的,这样就代表你可以读该参数,但是不能修改。

Final方法:

在java中final修饰的方法子类不能覆盖。当你希望某个方法的功能能再继承过程中被保留下来,并且不被覆写,就可以使用final关键字来修饰该方法。

final和private:private方法都隐含有final的意思。由于你不能访问private的方法,因此你也不能覆写它。

Final类:把整个类都定义为final的就等于在宣布,你不会去继承这个类,你也不允许别人去继承这个类。即是说一旦用final关键字修饰类之后,该类就不能再被继承。

初始化和类的装载:编译之后每个类都保存在它自己的文件里。不到需要的时候,这个文件是不会装载的。总之你可以说”类的代码会在它们第一次时候的时候装载“。类的装载通常都发生在第一次创建那个类的对象的时候,但是访问static数据或者static方法的时候也会装载。

第一次使用static数据的时候也是进行初始化的时候。装载的时候static对象和static代码段会按照他们字面的顺序进行初始化。当然static数据只会初始化一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值