类的基本用法

目录

类的基本语法

(1).构造器

(2).this

(3).封装

(4).javabean 实体类

(5).static 静态

static--静态变量的应用场景

static修饰方法

静态方法的应用场景

static的注意事项


类的基本语法

(1).构造器

注意:1、类默认就自带了一个无参构造器

2、如果为类定义了有参数构造器,类默认的无参数构造器就没有了,此时如果还想用无参数构造器,就必须自己手写一个无参数构造器出来

(2).this

1、this关键字是什么?

this就是一个变量,可以用在方法中,来拿到当前对象(哪个对象调用这个方法,this就拿到哪个对象)

this有啥应用场景? ------this主要用来解决:变量名称冲突问题的

用来解决对象的成员变量和方法内部变量的名称一样时,导致访问冲突问题的

public class Student{
    //成员变量
    String name;
    double score;
                            //内部变量
    public void checkPass(double score){
        if(this.score >= score){
            sout("恭喜你,考上哈佛");
        }else{
            sout("不好意思,你没考上~");
        }
    }
    
}
(3).封装

什么是封装?------------面向对象的三大特征:封装、继承、多态

封装的设计要求(规范)? -------合理隐藏、合理暴露

public class Student {
    private String name;
    //1、如何隐藏:使用private关键字(私有,隐藏)修饰成员变量,就只能在本类中被直接访问
    //其他任何地方不能直接访问
    private int age;
    private double chinese;
    private double math;
    //2、如何暴露(合理暴露):使用public修饰(公开)的get和set方法,合理暴露
    //成员变量的取值和赋值
    //取值
    public int getAge() {  //获取年龄
        return age;
    }
    //赋值
    public void setAge(int age) {  //设置年龄
        this.age = age;
    }
}

(4).javabean 实体类

什么是实体类?有什么特点?

1、成员变量必须私有,且要为他们提供get、set方法;必须有无参数构造器

(在实体类中:可以自动生成getter和setter方法、也可以自动生成有参构造器和无参构造器)

2、仅仅只是一个用来保存数据的java类,可以用它创建对象,保存某个事物的数据

实体类有啥应用场景?

实体类对应的是软件开发里现在比较流行的开发方式,数据和数据的业务处理相分离

(5).static 静态

1、static是什么?

叫静态,可以修饰成员变量、成员方法

成员变量:就是类里面的变量 成员方法:就是方法里面的变量

2、static修饰的成员变量叫什么?怎么使用?有啥特点?

类变量 (静态成员变量)

访问: 类名.静态变量(推荐) 对象.静态变量(不推荐)

属于类,与类一起加载一次,在内存中只有一份,会被类的所有对象共享

3、无static修饰的成员变量叫什么? 怎么使用?有啥特点

实例变量(对象变量)

访问: 对象.实例变量

属于对象,每个对象中都有一份

如果拿类名有访问实列变量,会报错

static--静态变量的应用场景

1、成员变量有几种?各自在什么情况下定义?

静态变量:数据只需要一份,且需要被共享时(访问,修改)

实例变量:每个对象都要有一份,数据各不同(如:name、score、age)

2、访问自己类中的变量,是否可以省略类名不写?

可以的

注意:在某个类中访问其他类里的类变量,必须要带类名访问

public class User {
    public static int count = 0;
    public User(){
        //注意:同一个类中访问静态成员可以省略类名不写
        //User.count++;
        count++;
    }
}
static修饰方法

注意规范:

如果这个方法只是为了做一个功能且不需要直接访问对象的数据,这个方法直接定义成-----静态方法

静态方法------是不能访问对象的数据

——————————————————————————

如果这个方法是对象的行为,需要访问对象的数据,这个方法必须定义成-----实例方法

静态方法的应用场景

静态方法有啥引用场景?

可以用来设计工具类

工具类是什么?有什么好处?

工具类中的方法都是静态方法,每个类方法都是用来完成一个功能的。

提高了代码的复用性;-----调用方便,提高了开发效率。

为什么工具类要用静态方法,而不是用实例方法?

实例方法需要创建对象来调用,会浪费内存。

工具类定义时有什么要求?

工具类不需要创建对象,建议将工具类的构造器私有化。

static的注意事项

静态方法,实例方法访问相关的几点注意事项

1、静态方法中可以直接访问静态成员,不可以直接访问实例成员-----(可以间接访问实例成员---不推荐)。

2、实例方法中既可以直接访问静态成员,也可以直接访问实例成员。

3、实例方法中可以出现this关键字,静态方法中不可以出现this关键字的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值