类与对象知识点

一、类的定义

类采用class关键字定义,在类内部可以定义字段方法

一般每个文件都只储存一个类,具体方法是打开IJ的src,按鼠标右键选择新建class.

类是自定义的类型,类似于int等类型,可以用来定义变量

定义字段(成员变量),方法如下:

class student{
    public String name="恬";
    private int age=18;
    private double score=96;
    public static String classname="113";
    public void show(){
     System.out.println("姓名:"+name+" 年龄:"+age+" 得分:"+score+" 班                级:"+classname);
        }
}

上面的class就是关键字,student是类名,里面标红的部分public、private是访问限定符(就是限定了定义的变量或方法的使用范围,具体范围如下图),前四行是成员变量,第五行是定义成员方法。(static是静态成员变量(类成员),不能通过this访问,因为它是依赖于类的,不是依赖于实例变量,就算没有实例变量,也是可以正常使用的)

二、类的实例化

定义好类,使用类定义好的东西需要实例化变量。我们在主函数这样写

public class test {
    public static void main(String[] args) {
        student stu1=new student();
        stu1.name="糖";
        stu1.show();
    }
}

stu1是我们通过new关键子实例化的变量,用点号访问其中的方法及变量,进行赋值等操作。

三、this引用

this有三个用处:

1、调用构造方法(构造方法:名字必须与类名相同,如public student{},且没有返回值,构造方法可以重载,在对象的生命周期只执行一次。

我们发现局部变量在使用时必须初始化,但是成员变量却不需要赋初值,其实是因为在调用new创建新变量时,自动调用了无参数的构造方法,注意是是无参!!假如在new时传了参,但是并没有在类里面定义赋值的方法,就会报错。而且系统自动帮我们构造方法前提是不能自己写了其他构造方法,否则将不为我们自动提供无参构造方法。

)

(必须放在构造方法的第一条语句,不能在不同的构造方法中形成环)

以下图片演示形成环的错误案例

2、表示当前的成员变量,起区分作用。

3、在成员方法中引用当前对象,是隐式的,当然也可以显化写出来

四、static

依赖类,通过类访问。

public static String classname="123";   //在类中定义的
System.out.println(student.classname);   //不用实例化,直接用类调用。当然,实例化再用对象加点号调用也可

静态变量初始化分两种方式:1、就地初始化(定义时直接初始化)2、代码块初始。

代码块有1、普通块{}定义在方法中的代码块

2、静态块static{}定义在类中的代码块,用来初始化静态成员变量

3、构造块{}不加修饰符的代码块,也叫实例代码块,用来初始化实例成员变量

三者的运行顺序为:静态——>普通——>构造

在各种类的相同种类的块按出现先后顺序运行

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值