##类是对象的模板。
类中包括: 成员变量、成员方法、静态变量、静态方法、构造方法、静态代码块、动态代码块。
类方法(静态方法)
语法: 修饰符 static 返回类型 方法名(参数列表){
....//只能使用类变量、不能使用实例变量
}
使用语法:
对象名.变量名
类名.变量名
类变量(静态变量)
语法: 修饰符 static 变量类型 变量名
使用语法:
对象名.变量名
类名.变量名
成员变量(实例变量)和成员方法(实例方法)
语法: 修饰符 类型 变量名
修饰符 static 返回类型 方法名(参数列表){
.....//能使用 类变量和成员变量
}
使用方法 对象名.变量名
对象名.方法名(...)
类方法中只能使用类变量;成员方法中既能使用类变量也能使用成员变量
构造方法
语法:
修饰符 类名(...){
....
}
构造方法是一个隐式的static方法,无多态性。
使用:
当对象实例化时(new)时,调用构造方法。
例子:
T t=new T();
//此时调用T类中无参构造方法
注意:
1. 构造方法名与类名一致
2. 构造方法没有返回值
3. 构造方法可重载。但是不被继承
###关于类创建时执行顺序
顺序是 父类—》子类
父类静态代码块—》子类静态代码块—》父类动态代码块(父类属性初始化【根据定义顺序】)–》父类构造方法—》子类动态代码块(子类属性初始化【根据定义顺序】)–》子类构造方法
##类和类的关系
依赖(use a) 一个类中方法控制另一个类
继承(is a) 一个类继承另一个类
聚合(has a)一个类中包含另一个类。
//洞萧类
public class xiao extends chiba{
private Music music;
//get set方法
}
//音乐类
public class Music{
}
public class People{
public void play(Xiao xiao){
System.out.print("演奏洞萧");
}
}
//People和Xiao的关系就是依赖(use-a)
// xiao和chiba的关系就是继承(is -a)
//Music和Xiao的关系就是聚合(has -a)
#包
声明某个类在某个包中
package 包
引入包
import 包.类
import static 包.类 //导入类中的类变量和方法。类变量和方法在该类中可以直接使用,而不加类名。