java学习笔记二
- 浮点数只能表示十进制数。
- Java语言中的字符是16位的Unicode字符
- 局部变量无默认初始值,必须赋值
- 没有加static属性的方法为实例方法,被调用时需通过类的实例--对象进行
- 简单类型数据的参数是按值传递的
- 引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值.
- 类是创建对象的模板.
- 如果局部变量的名字和类的成员变量的名字相同,则类的成员变量被隐藏.
- String类没有提供设置或修改数据的方法,所以当参数类型为String时,在方法中就不能修改其实例的字符串值.
- 构造方法的功能是为类的实例定义初始化状态.
- this代表当前对象.
- 类方法属于类而不属于类实例.
- 在application环境下有且仅有一个类定义一个main方法.
- 如果调用super,必须写在子类构造方法的第一行.
- 子类的构造的过程中必须调用父类的构造方法. super(argument_list)
- 如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法.
- 如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参数的构造方法,则编译出错.
- 类变量,类方法通常是全局变量,全局方法.
- 在类方法中不能使用this或super,并且不能创建内部类的实例.
- 实例对象可以访问类变量和类方法.
- 类方法中不能直接访问实例方法,只能通过实例对象访问实例方法.
- 在类方法中不能直接访问实例变量,只能通过实例对象访问实例变量.
- 类方法可以直接调用同一个类中的类方法.
- 用final修饰的常值类变量不能使用默认值.
- 变量被声明为final后,成为常值变量即常量.
- 为了不允许一个方法被重写,在方法的声明中指定final属性即可.
- 子类不能继承访问权限为private的成员变量和方法.
- 当子类的成员变量与父类的成员变量同名时,子类的成员变量会隐藏父类的成员变量.
- 接口可以继承接口。抽象类可以实现(implements)接口,抽象类是可继承实体类,但前提是实体类必须有明确的构造函数。
- long,string 都不能作用于swtich。
- 一个基类的引用类型变量可以"指向"其子类的对象.
- 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法).
- 可以使用引用变量instanceof类名来断该引用类型变量所"指向"的对象是否属于该类或该类的子类.
- 子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting).
- 一个类可以生成多个对象,并且这些对象都具有相同的属性。
- Java的类是单继承的,所有的类都从Object类派生而来的。
- 一个完整的Java应用程序由一个或多个类组成;其中Java Application至少有一个主类,这个类中包含一个名为main的方法.
- 对象成员变量在对象创建时会获得一个缺省的初始值.
- nputStream和OutputStream读写的数据是8位的,reader 和writer 是16位
- ava没有指针,引用不能等同于指针,指针是可计算的,引用是不可计算的
- super()和this()方法只能在构造函数里调用.
- verload是同类里同样的方法名,override是父子的继承,override的返回结果必须一样,否则编译出错
- 动态绑定是指"在执行期间(而非编译期间)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法.
- 动态绑定的条件:要有继承,要有重写,父类引用指向子类对象.
- 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写.
- 抽象类不以被实例化,是残类.
- 抽象方法只需声明,而不需实现.
- final的变量值不能被修改,final的方法不能被重写,final的类不能被继承.
- 接口(interface)从本质上讲是一种特殊的抽象类.这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现.
- 接口可以多重实现即多继承.
- 接口中声明的属性默认为public static final的;也只能是这样的.
- 接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的.
- 接口可以继承其它的接口,并添加新属性和抽象方法.
- 个无关的类可以实现同一个接口.
- 一个类可以实现多个无关的接口.
- 与继承关系类似,接口与实现类之间存在多态性.
- getMessage()方法用来得到有关异常事件的信息.
- printStackTrace() 方法用来跟踪异常事件发生时执行堆栈的内容.
- atch语句只需要一个形式参数指明它所能够捕获的例外类型,这个类必须是Throwable的子类,运行时系统通过参数值把被抛弃的例外对象传递给catch块。
- 抛出例外就是产生例外对象的过程,首先要生成例外对象,例外或者由虚拟机生成,或者由某些类的实例生成,也可以在程序中生成。
- Java把这些不同类型的输入、输出源抽象为流(stream),用统一接口来表示,从而使程序简单明了。
- 内部类是可以使用private权限的,而且还可以是static的呢。内部类可以正常调用其它类的方法,属性。别人也正常调用它。它的使用用和普通的方法,属性一致,也可以创建对象的哦。
- 有声明成static的内部类,里面的成员才能声明成static。否则错误
- 一个类虽只实现了一个接口,但不仅要实现这个接口的所有方法,还
要实现这个接口继承的接口的方法,接口中的所有方法均须在类中实现。 - 接口嵌入类中,可以使用private 修饰。此时,接口只能在所在的类
中实现,其他类不能访问。 - 嵌入接口中的接口一定要为public.
- 类可以嵌入另一个类中,但不能嵌入接口中。
- 在一个方法的运行过程中,如果发生了异常,则这个方法生成代表该异常的一个对象,并把它交给运行时系统,运行时系统找 相应的代码来处理这一异常.我们把生成异常对象并把它提交给运行时系统的过程称为抛出(throw)一个异常.
- 常对象则由运行时系统在try所指定的代码块中生成并被捕获.
- Java虚拟机可以理解成一个以字节码为机器指令的CPU.
- 法体内部声明的变量(包括形参)称为局部变量
- java中swithch语句只能探测int类型值
- 同一类的每个对象共识该类的方法
- 引用类型传递的是对对象的引用,而不是对象本身.
- 多态指的是以相同的办法处理来自不同类的对象.
- 重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常.
- 元素为引用数据类型的数组中的每一个元素都需要实例化.
- PrintWriter和PrintStream有自动flush功能
- 如果 java 的源程序编码与当前默认 ANSI 编码不符,则在编译的时候,需要指明一下源程序的编码。比如:
E:/>javac -encoding BIG5 Hello.java