初识java语言——基础语法3——类和对象

初识java语言——基础语法3——类和对象

一、什么是类?
在C语言中不叫类,叫结构体(当然C语言的结构体没有Java中的类的功能强大),但在结构体中就已经出现了类的雏形。在C语言中结构体就是一个集合数据类型,它里面有由各种基础数据类型构成的各种属性,也叫成员变量,这些成员变量结合在一起就构成了一个大的数据类型,就是结构体,只不过在Java中,就叫做类了,只不过在Java的类中不光有成员变量,还有方法(相当于行为操作、功能)。由关键字class修饰。
二、什么是对象?
在Java中如果把类看作是一张图纸,那对象就是图纸的实体化。我们可以通过实例化对象,通过引用去访问类中的相关数据。

class Student{
    
    
public String name;
public int age;
}
public class Main{
    
    
public static void main(String[]args){
    
    
Student stu=new Student();//stu为引用,等号后面为实例化,即为对象开辟存储空间,让引用指向这个对象
}
}

三、类中的成员变量组成
在Java中类的成员变量由实例成员变量和静态成员变量构成。实例成员变量归每个对象所有,静态成员变量是当前类所独有的,即可以直接通过类名.静态变量名去访问成员变量,而实例成员变量由于归每个对象所有,所以要在类外访问类内数据必须通过实例化对象去实现。
四、代码块
1、本地代码块:方法内部的代码块。
2、静态代码块和实例代码块:方法以外类以内。
执行顺序:

不同类型的代码块: 静态代码块>实例代码块>构造方法
相同类型代码块: 取决先后顺序

3、同步代码块:用于多线程。
五、构造方法
所谓构造方法,其实就是一种实例化(初始化)方法,只不过这个方法结构非常特殊,没有方法类型,方法名和类名相同,一个类可以有多个构造方法。如果没写构造方法,那么编译器默认了一个无参数的构造方法。凡是只要写了一个构造方法,那么不会再产生默认的构造方法。这就是为什么实例化没报错的原因。

class Student{
    
    
public String name;
public int age;
public Student(){
    
    }
public Student(String name){
    
    
this.name=name;
}
public Student(String name,int age){
    
    
this.name=name;//this为当前对象所在的引用
this.age=age;
}
}
public class Main{
    
    
public static void main(String[]args){
    
    
Student stu=new Student("haha");
Student stu2=new Student("hahaha",18);
Student stu3=Student();
}
}

实例化时会自动找寻最合适的构造方法进行实例化。

猜你喜欢

转载自blog.csdn.net/qq_45841205/article/details/111658494
今日推荐