super关键字
引用父类的成员变量的格式为 super.成员变量名称
引用父类的非静态方法的格式为 super.方法名(参数列表)
引用父类的构造方法的格式为 super(参数列表)
final关键字
final修饰类这个类就不能被继承,但不影响创建对象,如系统的String类
final修饰的方法不能被重写,但父类中没有被final修饰方法,子类覆盖后可以加final。
final修饰局部变量,只能够赋值一次,当修饰的是引用的类型的时候,不能被重新赋值,但是可以修改对象的属性
final修饰成员变量,必须在定义的时候进行赋值,不会有自动初始化值,(或者在构造方法中进行赋值)
被static修饰的成员变量属于类,不属于这个类的某个对象(多个对象共享一个static修饰的成员变量)
被static修饰的成员变量属于类,不属于这个类的某个对象(多个对象共享一个static修饰的成员变量)
被static修饰的成员变量和成员方法建议直接通过类名进行访问,使用对象访问的时候会有警告
静态方法中只能使用静态成员变量,不能使用this/super
static 静态的 成员信息在类中 在方法区中,常量池(常量)、静态内存区(静态成员信息)
不能修饰类
修饰方法:该方法是静态方法,在类中存储,通过类去执行调用
修饰变量:静态变量 在类中存储
静态全局变量 在类中存储,类中的信息共享,所以被所有的对象所共享
代码块
局部代码块:定义在方法中,用户划分区域的,代码块内能声明变量,可以放语句不能声明方法。
构造代码块:定义在类成员变量位置的代码块,每次创建对象的时候都会执行,优先于构造方法
//构造代码块格式
{
  }
静态代码块:定义在类的成员变量位置的用static修饰的代码块
//静态代码块格式
static{ }
定义在类成员变量位置的代码块,每次创建对象的时候都会执行,优先于构造方法
它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。
该类不管创建多少对象,静态代码块只执行一次。
可用于给静态变量赋值,用来给类进行初始化。
访问修饰符
| public |  
 protected 
    | 
 default 
 | 
 private 
 | 
|
| 
 同一类中 
 | 
√ | √ | √ | √ | 
| 
 同一包中(子类与无关类) 
 | 
√ | √ | √ | |
| 
 不同包的子类 
 | 
√ | √ | ||
| 
 不同包中的无关类 
 | 
√ | 
该equals类方法Object实现对象上差别可能性最大的相等关系; 也就是说,对于任何非空的参考值x和y ,当且仅当x和y引用相同的对象( x == y具有值true )时,该方法返回true 。
请注意,无论何时覆盖该方法,通常需要覆盖hashCode方法,以便维护hashCode方法的通用合同,该方法规定相等的对象必须具有相等的哈希码。
public String toString()
该toString类方法Object返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串@ ”和对象的哈希码的无符号的十六进制表示。
public static void main(String[] args) { Object o = new Object(); Object x = new Object(); Object y = new Object(); System.out.println(x.equals(y)); ObjectDemo demoAPI = new ObjectDemo(); System.out.println(demoAPI.toString());//com.zhiyou100.api.DemoAPI@1f 全限定类名:包名+类名 }
原文:https://www.cnblogs.com/zenyang-/p/13209904.html