类体中包含成员变量的声明和方法的定义,
- 成员变量又可细分为实例变量和类变量。在声明成员变量时,用关键字static修饰的称作类变量,否则为实例变量,类变量又称为静态变量。
- 方法,实例方法和类(静态)方法:对象调用实例方法详解,当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,只有该类创建后,类中的实例方法才分配入口地址,从而实例方法可以被创建的任何对象调用执行。需要注意的当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不在分配入口地址,也就是说方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法入口地址才被取消;类名调用类(静态)方法详解,在该类被加载到内存时,就分配了相应的入口地址。从而静态方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出才被取消。由于实例方法在未创建对象时没有加载到内存无相应入口地址,实例方法不能通过类名调用,只能由对象来调用。
- 如果一个方法不需要操作实例成员变量就可以实现某种功能,就可以考虑将这样的方法声明为类方法,好处避免创建对象时浪费内存。
- static void speak(){} 类(静态)方法;String speak(){}实例方法。
- Java基本数据类型:byte short char int long float double boolean
- java不支持多重继承,可实现多接口
- this关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类(静态)方法中。
- final修饰类不能被继承;final修饰方法不允许子类重写(只能继承,不许做任何篡改);final修饰成员变量或局部变量就变为常量。由于常量在运行期间不允许再发生变化,所以常量在声明时没有默认值,需在声明常量时必须指定该常量的值。
- super关键字,子类一旦隐藏了继承的成员变量或方法,那么子类创建的对象就不再拥有该变量,该变量将归super所有。
- 当用子类的构造方法创建一个子类对象时,子类的构造方法总是先调用父类的某个构造方法,若子类构造方法没有明显地指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法。由于子类不继承父类的构造方法,子类在其构造方法中需要使用super来调用父类的构造方法,而且super必须时子类构造方法中的头一句,子类没明显写出super关键字来调用父类的某个构造方法,那默认有:super();。
- 访问限制修饰符访问权限public>protected>友好的>private
- public类(public class A)与友好类(class A),使用友好类创建对象时,要保证在同一包下,不能用protected和private修饰类;preotected受保护的成员变量和方法在调用时需同一包下;如果源文件使用import引入另一个包中的类,并用该类创建对象,该对象将不能访问自己的友好变量和方法。
- import 导入的整个包的类可能会增加编译时间,不会影响程序运行的性能,在程序执行时,只是将真正使用的类的字节码文件加载到内存。
java.lang 包含所有的基本语言类;Java语言的核心类库,包含了运行Java程序必不可少的系统类,系统自动为程序引入此类
java.swing 包含抽象窗口工具集中的图形、文本、窗口GUI类
java.io 包含所有的输入输出类
java.util 包含实用类
java.sql 包含操作数据库的类
java.net 包含所有实现网络功能的类