JAVA基础知识中的一些注意点

  • 缺省访问级别的类只能被同一个包中的其他类使用。
  • 可以使用this从任何方法或者构造器引用当前的对象。如果有一个类级域和一个局部变量同名,可以用this.field引用前者。
  • 要使用属于其他包没有导入的类,唯一的办法是在代码中使用这些类的全限定名
  • 可以将方法设为final,这样可以防止它在子类中被覆盖
  • Java支持静态成员的概念,静态成员是指无需先实例化类就可以调用的类成员,静态方法内部不能调用实例方法或者实例域,但是可以从一个静态方法访问其他的静态方法或则域。静态引用变量包含地址,被引用的对象存储在堆中,这样提供了一个把需要在其他不同对象间共享的同一对象暴露出来
  • 如果同一个带final变量的类中有多个对象,那么这些对象中的final变量都将会有相同的值,所以通常将final变量也成为静态的,这样所有对象的值就都一样了,静态final变量的命名规范是全部大写,两个单词用下划线隔开。为了更好的组织常量,有时会把所有的静态变量都放在一个类中,这个类通常没有方法或者其他的域,并且绝对不会实例化。
  • 静态final引用变量也有可能,但要注意的是只有变量是不变的,意味着一旦赋给它实例地址,就不能再把同类型的另一个对象赋给它,被引用的对象的本身的域可以改变。
  • 使用java工具来运行java程序,将JVM加载到内存中之后,就会调用DemoTest类的main方法开始他的工作,JVM将会按照特定的顺序做三件事情:加载、链接和初始化。加载:JVM将java类的二进制形式加载到内存中,并且将其缓存到内存中,以便将来再次使用这个类。链接要做:验证、准备和解析。验证即JVM根据java程序语言和JVM的语义要求检查这个二进制形式;准备是指准备要执行的指定的类,包含给这个类的静态变量和其他数据分配内存空间;解析是检查指定的类是否引用了其他的类/接口,是否能找到和加载其他的类/接口。最后一步是初始化,JVM用复制或者缺省值将静态变量初始化,并执行静态初始化程序(static块中的代码),初始化就发生在执行main方法之前。
  • 静态初始化在实例初始化之前
  • 当有多个构造器并且每个构造器都必须调用相同的代码时可以把初始化代码打包到一个方法中,让构造器调用他们
  • 通过使用关键字super可以从子类的构造器显示的调用父类的构造器,但是super必须是构造器中的第一条语句。如果想调用超类中的另一个构造器,使用super关键字是非常方便的
  • super的另外一个目的是可以用来调用超类中隐藏的成员或者被覆盖的方法,由于super表示直接父类的实例,因此super.memberName返回父类中的指定成员。可以访问超类对子类可见的任何成员
  • 可以通过在类的声明中使用关键字final使类成为final,这样就可以防止别人扩展类。
  • 关键字instanceof可以用来测试对象是否为某种指定的类型,通常用在if语句中,它的语法如下:if(objectreference instanceof type)。
  • throw关键字用来抛出异常不可与throws搞混,throws用在方法签名的末尾,用来表示可能从这个方法中抛出指定类型的异常。
  • 接口有public或者缺省访问级别,接口可以有域和方法,不过所有的接口都是隐式公开的。
  • 要实现接口,就要在类声明的后面使用关键字implement,一个类可以实现多个接口,实现类必须覆盖接口中的所有方法,接口中的域必须初始化,域名必须用大写
  • 抽象类同时能提供部分实现,必须显示覆盖的方法可以声明为abstract。不过仍然需要创建实现类,因为抽象类布恩那个被实例化,通过在类声明中使用abstract修饰符来创建抽象类
  • 枚举类型可以单独存在,可以是某个类的一部分,如果在应用程序中多处引用,就让他单独存在。
  • 集合框架中的Collection接口提供了易于使用的方法,添加元素用add,添加另一个Collection用addAll,删除所有元素使用clear,查询元素数量用size,测试Collection是否包含元素使用isEmpty,要将元素移到另一个数组就使用toArray。
  • List是一个有序的集合也称为序列,可以通过索引访问元素。
  • Array.sort在它自己和需要他排序服务的对象之间定义了一个协议,该协议采用了java.lang.Comparable接口的形式public interface Comparable{ public int compareTo(Object obj);}compareTo方法中的obj参数是指和这个对象进行比较的对象,如果这个对象大于参数对象,那么实现类中的这个方法的代码实现就一定返回正数。

猜你喜欢

转载自blog.csdn.net/Han_L/article/details/79936803
今日推荐