java类和对象

java类和对象

对象

对象:指的是客观存在的事物。

面向过程编程:

  • 是一种以过程为中心的编程思想,实现每一个功能,都是自己实现的。

面向对象编程:

  • 是一种以对象为中心的编程思想,通过指挥对象来实现具体的功能。

  • 类是对现实生活中具有一类具有具体共同属性行为的事物的抽象。

  • 类是对对象的一种描述。

类和对象的关系

  • 类是对象的描述
  • 对象是类的实体

使用

首先先定义一个类,创建一个Java文件,不写主方法

public class 类名 {
	成员变量...
	成员方法...
}

在主方法里面创建对象

public class 类名 {
	// 主方法
    public static void main(String[] args) {
        // 创建对象
        // 这里的类名不是带有主方法入口的类名
        类名 变量名 = new 类名();        
    }
}
成员方法
public class 类名 {
	成员变量...
    // 成员方法
	public void 方法名(){
        方法体...
    }
}
成员变量和局部变量

成员变量

  • 类中方法外面的变量
  • 有默认值

局部变量

  • 方法中的变量
  • 没有默认值,必须定义后赋值才能使用
public class 类名 {
	// 成员变量
    数据类型 变量名;
    int num;
    // 成员方法
	public void 方法名(){
        方法体...
        // 局部变量 
        数据类型 变量名;
        int num1;
    }
}

成员变量和局部变量名称相同也是没有问题的,本身就没有关联,所以不会互相影响。

封装

  • 隐藏实现过程,仅对外暴露公共的访问方式
  • 私有成员变量,提供了get变量名()set变量名()的方法
  • 将代码抽取到方法中,这是对代码的一种封装
  • 将属性抽取到类中,这是对数据的一种封装
  • 提高了代码的安全性
  • 提高了代码的复用性
private关键字
  • 是一个权限修饰符
  • 可以修饰成员变量和成员方法
  • private修饰的成员只能在本类中才可以访问,外界访问不了

针对外界需要访问的问题提供了相应的操作

  • 提供get变量名()的方法,用于获取成员变量的值,方法用public修饰
  • 提供set变量名(参数)的方法,用于设置成员变量的值,方法用public修饰
this关键字
  • 可以调用本类的成员,解决局部变量和成员变量重名的问题
  • 代表所在类的对象引用,方法被哪个对象引用,this就指向哪个对象
public class Student {
    private String name = "张三";
    private int sex = 12;

    public Student() {
    }
    
    public Student(int11111101 sex) {
        this.sex = sex;
    }

    public Student(String name) {
        this.name = name;
    }
    
    public Student(String name, int sex) {
        this.name = name;
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getSex() {
        return sex;
    }

    public void setSex(int sex) {
        this.sex = sex;
    }
}

构造方法

  • 创建对象时所调用的方法
  • 方法名要和类名一样
  • 没有返回值类型,void也没有
  • 没有具体的返回值,也就是不可以使用return返回数据
  • 创建对象时就会自调用,创建一个对象就会调用一次
  • 不可以手动的调用构造方法

作用:用于给对象的数据进行初始化。

public class Student {
    private String name = "张三";
    private int sex = 12;

    public Student() {
    }
    
    public Student(int11111101 sex) {
        this.sex = sex;
    }

    public Student(String name) {
        this.name = name;
    }
    
    public Student(String name, int sex) {
        this.name = name;
        this.sex = sex;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值