一. 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流指向文件时,不刷新文件。