面向对象:人更关注的一个具体对象的信息
类是模子,它描述对象将会拥有的特征(属性)和行为(方法)
类在客观世界是不存在的,它用来描述对象信息
类是具有相同属性和方法的对象的集合
定义类:
类的重要性:所有Java程序都是以类class为组织单元
类的组成:属性和方法
定义一个类的步骤:
1.定义一个类名 类名首字母大写
2.编写类的属性 (属性的类型 名字)
3.编写类的方法
Java对象
使用步骤:
1.创建对象: 类名 对象名=new 类名();
2.使用对象:引用对象的属性 对象名.属性;
引用对象的方法 对象名.方法;
成员变量:在类中定义,用来描述对象将要有什么
局部变量:在类的方法中定义,在方法中临时保存数据
构造方法
构造方法是定义在Java类中的一个用来初始化对象的方法
构造方法名称与类名相同,并且没有返回值 public 构造方法名(){}
可以通过无参的构造方法创建对象 类名 对象名=new 构造方法();
可以通过有参的构造方法创建对象 类名 对象名=new 构造方法();
java中的static使用
静态变量
static 变量类型 变量名=.....
静态变量可以直接通过类名来访问
也可以通过创建类的对象来访问
使用对象名的形式修改静态变量
再用类名访问静态变量时,值被改变
静态方法
静态方法可以直接调用同类中的静态成员,但不能直接调用非静态成员
如果希望静态方法调用非静态成员,可以通过创建类的对象,然后通过类的对象来访问非静态成员
在普通方法中则可以直接访问同类中的静态成员和非静态成员
静态方法中不能直接调用非静态方法,必须通过创建类的对象来调用非静态方法
例如:
public class HelloWorld{
//普通成员方法
public void show(){
System.out.println("Helloworld");
}
//静态方法
public static void print(){
System.out.println("你好");
}
public static void main(){
//普通成员方法必须通过对象来调用
HelloWorld hello=new HelloWorld();
hello.show();
//静态方法可以直接调用
print();
}
}
Static 使用之静态初始化块
静态初始化块只在类的加载时执行,且只执行一次,同时静态初始化块只能给静态变量赋值,不能给普通成员变量赋值
例如:
public class Helloworld{
int num1;
int num2;
static int num3;
}
public Helloworld(){ //构造方法
num1=23;
System.out.println("通过构造方法为num1赋值"+num1);
}
//初始化块
{
num2=12;
System.out.println("通过初始化块为num2赋值"+num2);
}
//静态初始化块
static {
num3=34;
System.out.println("通过静态初始化块为num3赋值"+num3);
}
public static void main(String[] args){
Helloworld hello=new Helloworld;
System.out.println("num1:"+hello.num1);
System.out.println("num2:"+hello.num2);
System.out.println("num3:"+num3);
Helloworld hello2=new Helloworld();
}
运行结果:
通过静态初始化块为num3赋值34
通过初始化块为num2赋值12
通过构造函数为num1赋值23
num1:23
num2:12
num3:34
通过初始化块为num2赋值12
通过构造方法为num1赋值23
程序执行时 静态初始化块最先执行,然后执行初始化块,最后构造方法执行