一. get和set方法的使用
.set和get方法一般是用来给类的成员变量赋值的,一般只在private中用 。
- 灵活性
get()和set()有一个好处,当输入.get(.set)时就能显示所有的属性。把所有设置都归纳起来,对于外部的使用都方便. - 安全性
对于类来说,如果不使用set/get方法,直接用public定义某个属性,那么这个属性是可读可写的,如果你希望一个类的某个属性是只能读取,不能写入的时候,上面用public定义某个属性就不能满足了,但是我们可以使用private定义属性,再定义一个get方法,但是不定义set方法来实现。反之,只定义set,不定义get则表示该属性是只写不能读的.
二. static
- 当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。
- 用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用
比如 person这个类里面有一个方法public static add(){}
那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以 - 如果这个方法前面没有static 比如 public add(){}
那么先要person p=new person();
然后用p.add();
三. abstract
abstract类的子类可以是abstract类,如果是非abstract类就必须重写父类中所有的abstract方法。
- abstract中的非abstract方法是可以用final修饰的,而abstract方法不可以被abstract修饰。
- 不可以同时用final和abstract修饰同一个方法
- 不允许使用static修饰abstract方法
四.方法重写
方法重写要求:重写的方法访问权限大于等于重写方法
- 方法重写要求:方法名,返回值类型,参数,,完全相同。
五. 接口
- 接口体包含常量的声明(没有变量)和抽象方法两部分。接口体中只有抽象方法,没有普通的方法,而且接口体中所有的常量访问权限一定都是public,而且是static常量,所有的抽象方法访问权限一定都是public。
- 接口中不能声明变量
- 借口回调:可以把实现某一接口的类,所创建的对象的引用,赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的方法。
- 接口中的常量必须指定初值。
- 实现接口的类如果不能实现所有接口中待重写的方法,则必须设置为抽象类 。
- 接口可以实现多继承,即一个子接口可以同时继承多个父接口 ,一个类可以继承自一个父类,同时实现多个接口 ,当一个类同时实现多接口,且其中同时具有相同方法时,实现类需要重写该方法,否则会编译报错。
- 那么类在重写接口方法时不仅要去掉abstract修饰符,给出方法体,而且方法的访问权限一定要明显地用public来修饰(不能降低访问权限)。
六.Integer类
- Integer类,封装基本数据类型int,提高大量方法
- 将字符串转成基本数据类型int
- int => String 任何类型 +“ ”变成String类型
- Integer类中的静态方法toString()
public class INtegerDemo{
public static void main(String[ ] args){
function_2( );
}
public ststic void function_2( ){
int i=3;
String s=i+" " ;
System.out.println(s+1);
String s1 =Integer.toString(5,2); //把5转成二进制
System.out.println(s1 );
}
}
输出: 101
Integer类的构造方法
Integer (String s)
将数字格式的字符串,传递到Integer类的放、构造方法中
创建Integer对象,包装一个字符串
将构造方法的字符串,转成基本数据类型,调用方法,非静态的,intValue()
public static void function_3(){
Integer in = new INteger("100");
int i= in.inValue();
System.out.println(--i);
}
七.String类
- equals:String对象调用equals(String s)方法比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同,是区分大小写的。
- compare To:String对象调用compareTo(String s)方法,按字典序与指定的String对象s的字符序列比较大小。如果当前String对象的字符序列与s的相同,该方法返回0;如果大于s的字符序列,该方法返回正值,如果小于s的字符序列,该方法返回负值。
- contains:String对象调用contains方法判断当前String对象的字符序列是否包含参数s的字符序列。
- indexOf: String 对象的字符序列索引位置从0开始。String对象调用方法indexOf(String str)从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是-1。
- parseXXX(String s)方法:是将由“数字”字符组成的字符序列转化成对应的数据类型。 例
int m =Float.parseFloat(“567”);
可以将float型的567赋值给int。
- string类是final类,不可以有子类。
- String在java.lang包中。
- String对象的字符序列的字符不能被修改、删除,即String对象的实体是不可以再发生变化的。
八.输入,输出流
- 创建File对象不会发生异常,创建新文件的时候会发生IOException异常。
- BufferedRead流只能指向FileRead流,它们都是以字符读取数据的。
- RadomAccessFile流指向文件时,不刷新文件。