java基础

1.源代码的文件名必须与公共类的名字相同
2.floorMod ( position + adjustment , 12 ) 总会得到一个 0 ~ 11 之间的数。
3.因为输入是可见的 , 所以 Scanner 类不适用于从控制台读取密码。 JavaSE 6 特别引入了 Console 类
4.Biglnteger 类实现了任意精度的整数运算 , BigDecimal 实现了任意精度的浮点数运算 。(用于大数据处理)
5.如何从数组中随机取数:数组长度为5,随机一个0-4的数,将那个数取出来,用数组最后一个元素和他交换,然后随机一个0-3的数,循环
6.更改器方法:调用后会改变这个对象本身,访问器方法:调用后不会改变对象本身。(Set和Get方法)
7.这是因为文件名必须与 public类的名字相匹配。 在一个源文件中,只能有一个公有类, 但可以有任意数目的非公有类
8.不要编写返回引用可变对象的访问器方法。比如说一个类里面有定义了一个可变的对象(通过这个对象的一些方法可以对其状态进行修改),当通过访问器方法在类外得到的时候,
在类外对其进行修改,会使类内的这个对象的状态也变换。 避免:在return的参数后面加上".clone"
9.一个类内的方法,可以访问这个类创建的任意对象的私有域
10.final修饰符类似于C++的引用,必须初始化并且后续不可以指向其他的对象,但是可以对现有对象中的内容进行修改
11.利用import导入包的时候, 只能使用星号 ( * )导入一个包
12.super关键字可以在子类和父类的方法一样(重写)时,用来调用父类的方法,通过super.出来。 同时在子类的构造器中,可以通过super()的形式调用父类的构造器
要写在子类构造器的第一行!如果不写默认调用父类的默认构造器
13.this可以在一个构造器中调用另一个构造器(也要写在第一行),this()这种形式调用
14.java的方法会在一个方法表中,类似与C++的虚函数列表,子类可以通过重写的方式来覆盖父类的方法实现多态,当调用方法的时候会去方法表中查找。
15.在类前面加final会让这个类不可以被继承,在方法前面加final会让这个方法无法被子类的方法覆盖,final类中的所有方法默认是final方法(不包括域)
16.if (staff [ 1 ](对象) instanceof Manager(类)) 在进行类型转换之前可以判断一下 这个对象是否是这个特定类或者是它的子类的一个实例。
17. 包含一个或多个抽象方法的类本身必须被声明为抽象的.用abstract,抽象的方法不必实现.抽象类不能被实例化。如果一个类继承了一个抽象类,要不这个类也定义成抽象类
或对父类的抽象方法进行实现.抽象类的变量仍然可以引用子类的对象(类似于C++的纯虚函数)
18.对象包装器类:拥有很明显的名字 : Integer 、 Long 、 Float 、 Double 、 Short 、 Byte 、 Character 、 Void 和 Boolean ( 前6 个类派生于公共的超类 Number )
对普通类型进行包裹,如果一个Interger和Double运算,先拆箱然后变成double,在装箱
19.public static double max ( double . .. values ) 实现可变参数double m = max ( 3.1 , 40.4 , - 5 ) ;
编译器会将 new double [ ] { 3.1 , 40.4 , - 5 } 传递给 max 方法。如果参数是double[],就需要自己手动new double [ ] { 3.1 , 40.4 , - 5 }传递过去

20.break可以后面加标签 标签后面要加: 

21.在同一个包中的所有类都可以访问 proteced 域 , 而不管它是否为这个类的子类 。

posted @ 2019-02-27 13:08  TheQi  阅读(208)  评论(0编辑  收藏  举报