1.静态变量属于类而不属于对象,对象调用是对金泰变量的引用并不创建新的变量。
2.静态方法也是属于类而不属于对象,对象调用是对方法的一个引用,不会创建新的对象。
3.静态属性和方法用关键字static来修饰
4.静态属性和方法属于类不属于对象,对象创建并不影响到他
5.静态属性和方法调用可以不用创建对象直接进行类调用 类.属性(方法)。
6.在静态方法中不能调用非静态方法和属性
7.现有类后有对象所以静态方法和属性先于对象创建
package com.kaishengit;
public interface Const {
String SYS_NAME = "在线办公系统";
float PI = 3.14f;
public static void say();
}
8.静态块:static{方法体} 静态块在类中只会调用一次不管是先直接调用静态属性或方法,或者创建对象,他只会执行一次
public class Person {
public static String a = 10;
static{
System.out.println("我执行了");
}
public static void aa(){
System.out.println("..........");
}
}
9.静态块中不允许调用非静态属性或方法
10.常量指变量一旦获得初始值将不能被改变,常量可以先定义在后面初始化。
11.常量定义 final 关键字修饰变量 final int A;
12.常量名约定全部大写
13.常量用于处理一些不改变的值,常量一般写在接口中。
14.在接口中默认属性修饰符为:public static final
15.final:- 修饰变量代表该变量的值不能被改变
- 修饰方法代表该方法不能被重写
- 修饰类代表该类不能被继承
16.自动装箱和自动拆箱发生在基本数据类型和对应的包装类型之间
17.自动装箱:指把一个基本类型转换为相应的包装类型: Integer in = 15;
18.自动拆箱:指把一个包装类型转换为相应的基本类型:int b = new Integer(15);
19.System.CurrentTimeMillis();返回1970年一月一日0时0分0秒到现在所经历的毫秒数。
20.String 和基本类型之间的转换:先将基本类型转换为包装类型,然后用String类型和包装类型之间互相转换。
21.Object:- toString()方法返回getClass().getName() + '@' + Integer.toHexString(hashCode())
- equals()方法比较的是内存地址相当于“==”
22.自定义类时要重写toString方法和equals方法。
23.System.out.println();输出对象时自动调用对象的toString()方法如果没有重写则调用Object的toString方法。
24.StringBuffer是线程安全的。
25.StringBuilder是非线程安全的
26.非线程安全通常比线程安全的性能略高。
27.StringBuffer和StringBuilder的内容是可变的。
28.自动装箱和自动拆箱适用于jdk5及以上的版本
public boolean equals(Object obj) {
//1.判断obj是否是Student类的对象
Student s = null;
if(obj instanceof Student) {
s = (Student)obj;
if(this.name.equals(s.getName())) {
return true;
} else {
return false;
}
} else {
return false;
}