Java-------->>类与对象

Java--------->类与对象

  (一)重要知识点

  Static用法:

    1,static 作用于方法时:该方法属于类方法,无需本类的对象即可调用此方法(可以直接通过类来调用),局限性:只能调用static 方法和数据,且不能以任何方式引用this和super关键字。

    2,static作用于变量:相当于全局变量,static以最后一个调用为准(可统计方法被执行的次数),static{}这类静态块优先执行,不论顺序,静态变量只会需要要初始化一次,即未其分配好了内存,而如果普通的全局变量每调用该类,都会被执行一次。

    3,static作用于类时:即内部静态类,可以直接做为普通类来new 出来   详细见这里

  This用法:

    1,调用本类中的属性;2,调用本类中的其他方法(静态方法不能)3,返回对象的值(如:return this)

  参数的传递

    传递方式:值传递(实参传入给形参),而非对象传递,在传递的参数区分好是基本类型(传值)还是引用类型(形参为地址值)

    传递多个同类型的参数 如test(int i ,String ...books)

  Super方法:调用父类的方法,如super.成员变量,super(方法参数)

  Final关键字:

     1,final修饰基本类型和引用类型区别:基本类型:值不变,引用类型:引用地址不变,对象内容可以改变。

    2,final修饰的方法不能被重写

    3,final修饰的类不能有子类

  方法的重载:方法名相同和参数列表不同,与返回类型等无关

  方法的重写:两同两小一大

    1,方法名相同,参数列表相同

    2,方法返回类型小于或等于父类,子类抛出的异常小于等于父类

    3,方法访问权限大于等于父类

  变量说明:

    

  访问权限:

   包的分类:

    

  ==与equal一些易忘点:

    1,对于基本类型变量,只要两个变量都是数值类型且值相等,则==成立如(3==3.0F)true;和(65=='A’)true,对于对象,要求引用类型指向同一个对象,则返回True

    2,字符串常量池,如String a="23";String b="2",String c="3";String d=b+c; a==d false;a=b+"3" false;//因为在编译时无法确定(在赋值时不能直接识别类型。)

  抽象类和抽象方法的特点:

    1,抽象类和抽象方法必须用Abstract修饰,且抽象方法没方法体,如public abstract String test();即可无括号

    2,抽象类无法被实例化(即new)

    3,抽象类中可以包含成员变量,方法体(抽象方法和普通方法),构造器,初始化块,内部类(接口,枚举)

    4,含有抽象方法的类只能定义为抽象类

  接口:

    1,抽象类中可以包含成员变量,方法体(抽象方法和默认方法(default),类方法(static)(Java8允许的)),内部类(public static修饰)

    2,成员变量默认public static final ;方法默认是public abstract

    3,接口支持多继承,

  内部类:

    1,内部类有(private,protected,static)三个权限访问,内部能访问外部变量,而外部不能直接访问内部成员(可以借用对象)。

    2,非静态内部类不能含有静态变量,方法,初始块

    3,静态内部类:静态类不能访问实例成员(即非静态)

    4,局部内部类:声明在方法中,不能设置static和访问权限,

    5,匿名类:1,不能为抽象类;2,不能定义构造方法(匿名类没有类名);

  枚举类与普通类区别:

  

   垃圾回收机制:

    其中堆内存对象的三种状态转换:

  Jar文件常用命令:

    1,创建jar:jar cvf hello.jar hello//c:创建  f:文件信息  v:详细过程报告

    2,解压jar:jar xvf hello.jar //x:解压

    3,往jar中添加文件:jar uf hello.jar HelloWorld.java //u:添加

    4,显示jar内容:jar tvf hello.jar 

原文地址:https://www.cnblogs.com/xieyulin/p/7061215.html