【自学】Head First Java 1-9章笔记

开发步骤:写源文件.java、编译源文件得到字节码.class、解释器执行字节码

平台无关性:java可在平台上提供由java虚拟机、类库、一些核心文件的java运行环境

java源文件:最多有一个public,并且源文件与此public类同名,若无public类则与文件中任一类同名即可

java应用程序:必须有一个类含有主类public static void main(String args[])作为程序的起点

  • 面向对象(实例变量+方法)
  • 变量分两类:primitive主数据类型(变量值为就是所代表的值的字节表示)、引用(引用变量的值为取得特定对象的为表示方法,而非对象本身以字节放进引用变量)
  • boolean和integer不相容,不能int x=1;if(x),int形参也不能传boolean实参
  • 长字节类型变量不可直接赋给短的,可以有损失的转换:long a=3; int b=(int) a; 参考大小杯记忆(小杯装不下大杯)
  • 对象的声明、创建、赋值:Dog mydog=new Dog();
  • 对象的实例变量永远有默认值:0,0.0,false,null(reference)
  • ==”比较两个变量值的字节组合模样,可以判别两个引用是否指向同一对象;equals()判断两个对象是否在意义上相等
  • for(int i:intarr){}
  • java有很多实用的API,可通过参考书或HTML API文档查询
  • 覆盖发生在子类对父类方法的重新实现,方法名、参一样,返回值要兼容
  • 重载发生在同一作用域,同名不同参(类型、数量、存取权限)
  • 调用对象的方法时,java虚拟机从”层次树”最低阶找起(从子到父)
  • java所有类都是从object类的直接或间接子类
  • 用abstract标记抽象类,此类不可创建实例,只可用于继承
  • 接口interface:变量都是public static final的,且必须在定义时赋值,方法都是抽象的
  • java不许多重继承,但类可以实现多个接口
  • 抽象类可有抽象和非抽象方法,但抽象方法(没有内容)所在的类一定是抽象类
  • 子类不完全覆盖父类方法,即调用父类方法+自己操作:super.function()
  • 在子类构造函数中调用父类构造函数:super();
  • 创建新对象时,所有继承下来的构造函数都会执行,并且是从父类到子类的顺序构造
  • 调用一个方法时,该方法的状态(执行到哪一行,所有局部变量的值)以堆栈块的形式放在调用栈中,调用栈顶即为正在执行的方法
  • java可以有与类同名但带返回类型的方法(即非构造函数)
  • this和super 参考1参考2
  • this:指向自身对象的指针。用于引用本对象的变量或实例方法(不可用于类方法,因为类方法不属于任一对象)。构造函数可用this(参数)调用本类另外一个构造函数,放在第一句,且不与super()同时使用。
  • super:可理解为指向自己最近父类的指针。可通过 "." 调用父类的变量、方法。子类的构造函数可用super(参数)调用父类的某个构造函数,放在第一句,且不与this()同时使用。
  • 创建数组分为声明分配变量两步:声明数组时方括号内不许指定元素个数;一次可以声明多个数组:int[] a, b; <=>  int a [], b[];      创建数组:a=new int[4];

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值