final有什么性质?:
实例变量如果被final修饰了,那就不可以让系统来默认赋值(因为java觉得你这样就不能再控制这个值多少了),可以在定义的时候直接赋值或者再构造函数里赋值,只要不要让默认来就可以了。
引用用了fianl后也不可以修改了,和变量一个道理。
final修饰的实例变量常常和static连用,被称为常量。
package和import:
package:
注意:使用了package之后注意类名变化,同时记得要手动把class文件放到自己建立的那一大队文件夹里,然后再在哪里使用cmd运行,运行时还是要写很长的名字。(直呼重量级,用了ide就没那么麻烦了)
注意:任何一个类的正真名字都是包名+类名,我们平时不同写包名是因为代码都在同一个包里,可以省略,不在同一个包里就不行了。假如不在同一个包里,方法调用(指static方法)和对象建立都会很麻烦。
这个过程是怎么回事呢?凡在其他文件夹里的类是怎么找到别的类的?我是这么理解的:先依据自己的包名,(运行了当然是从class文件的地方开始)向上级走,走完了就根据类名前面那一大段包名往前走,这样就找到了。所以包的起点应该在同一个文件夹里(我是这么觉得的)。但是导入java自带类的时候又没有在同一个文件夹里呀,看来还是当成是类名改名了比较好。
很麻烦对不对?import救我老命。
开局写上一个import 包名.类名,以后用这个类就不用写包名。
还可以把类名改成*,那就把那个包里的类全都放进来了。
注意注意:Import语句只能写在package语句下面,class语句上面。
访问控制权限修饰符:public protected 缺省 private四大天王(终于可以知道public是干嘛的了)
public:公开的,任何类中都可以访问
protected:同包类,子类中可以访问(其他包的类import也没用)
缺省(就是我们平时写的那种,我们平时Int数字的时候从来没写过public什么的吧):只有同包下能访问。
private:只有自己这个类能访问。
由上至下,越来越限制。
类只能有public和缺省的修饰符(你可以从IDE建立类的选项中看出来),除了内部类(内部类是啥?)