Java基础

初始化块

分为静态初始化块非静态初始化块。

非静态初始化块:每次new对象都会执行。

静态初始化块:是使用static修饰,系统在类初始化阶段就会执行静态初始化块,因此静态初始化块总会比普通的初始化块先执行。

static

加载类的时候会优先加载static修饰的变量,static修饰的变量是一个全局共享的,声明在类里面,不能申明在方法里,所以声明必须在class类层面去声明,jvm为了节省内存,所以在内存中只有一次拷贝,只会加载一次,所以可以通过类名对static变量直接进行访问。

普通方法里不能使用static创建变量
静态方法不能直接访问实例变量和实例方法,因为它们不属于任何特定实例


fun()方法中引用了静态变量a,由此说明:普通方法可以直接访问静态变量,因为普通方法属于类的实例,而实例可以访问类的所有成员,包括实例变量、实例方法以及静态变量和静态方法。


final

final可以修饰成员变量,也可以修饰局部变量和形参。

被其修饰的变量,一次赋值之后,不可以再次赋值。

被修其饰的方法,不允许被重写,如果不希望子类重写父类的某个方法,可以使用final修饰。

多态

向上转型,可以调用父类的对象但不能调用子类的对象。

向上转型,如果遇到父类的方法被子类重写了,那么就去调用子类也就是被重写后的方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 3,321评论 0 2
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 5,502评论 4 12
  • Java枚举 ava 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。 注意:...
    renkuo阅读 1,885评论 0 1
  • Java基础笔记(一) 面向对象 [TOC] 1、定义类 其中的修饰符可以是public、final、abstra...
    小小少年Boy阅读 2,934评论 0 1
  • 子类对象实例化过程图示: 思考:1.为什么super(...)和this(...)调用语句不能同时在一个构造器中出...
    ttiga阅读 1,794评论 0 0