Java基础05——面向对象

一、设计对象并使用

1. 类和对象

  • 类:是对象共同特征的描述(设计图)。
  • 对象:是真实存在的具体东西。
  • 在Java中,必须先设计类,才能获得对象。
  • 定义类
public class 类名 {
	1、成员变量(代表属性,一般是名词)
	2、成员方法(代表行为,一般是动词)
}

public class Phone {
    // 属性
    String brand;
    double price;

    // 行为
    public void call() {
        System.out.println("手机在打电话");
    }

    public void playGame() {
        System.out.println("手机在玩游戏");
    }
}
  • 得到类的对象
类名 对象名 = new 类名();

Phone xiaomi = new Phone();
  • 使用对象
public class PhoneTest {
    public static void main(String[] args) {
        // 创建手机对象
        Phone xiaomi = new Phone();

        // 给手机赋值
        xiaomi.brand = "小米";
        xiaomi.price = 1999.99;

        // 获取手机对象中的值
        System.out.println(xiaomi.brand);
        System.out.println(xiaomi.price);

        // 调用手机中的方法
        xiaomi.call();
        xiaomi.playGame();
    }
}

2. 类的注意事项

  • 类的分类
    • JavaBean类:用来描述一类事物的类。在JavaBean类中不写main方法。
    • 测试类:编写main方法的类,可以在测试类中创建JavaBean类的对象并进行赋值调用。
  • 类名首字母大写,需要见名知意,大驼峰模式。
  • 一个Java文件中可以定义多个类,但只能有一个类是public修饰,public修饰的类名必须是java文件名。
  • 成员变量的完整定义格式:修饰符 数据类型 变量名称 = 初始化值;
  • 成员变量的默认值规则
数据类型明细默认值
基本类型 - 整型byte、short、int、long0
基本类型 - 浮点型float、double0.0
基本类型 - 布尔型booleanfalse
引用类型类、接口、数组、Stringnull

二、封装

1. 什么是封装

  • 告诉我们,如何正确设计对象的属性和方法。
  • 原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为。

2. private关键字

  1. 是一个权限修饰符
  2. 可以修饰成员(成员变量和成员方法)
  3. 被private修饰的成员只能在本类中才能访问
  4. 针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作:
    • setXXX(参数),用于给成员变量赋值,方法用public修饰
    • getXXX(),用于获取成员变量的值,方法用public修饰
  • 封装类
public class GirlFriend {
    private String name;
    private int age;
    private String gender;

    // 针对每一个私有化的成员变量,都要提供get和set方法
    public void setName(String n) {
        name = n;
    }
    public String getName() {
        return name;
    }

    public void setAge(int a) {
        if (a >= 18 && a <= 50) {
            age = a;
        } else {
            System.out.println("非法参数");
        }
    }
    public int getAge() {
        return age;
    }

    public void setGender(String g) {
        gender = g;
    }
    public String getGender() {
        return gender;
    }
}
  • 生成对象
public class GirlFriendTest {
    public static void main(String[] args) {
        GirlFriend girlFriend = new GirlFriend();
        // 赋值
        girlFriend.setName("啊呜");
        girlFriend.setAge(18);
        girlFriend.setGender("萌妹子");

        System.out.println(girlFriend.getName());
        System.out.println(girlFriend.getAge());
        System.out.println(girlFriend.getGender());
    }
}

三、this关键字

  • this 可以区别成员变量和成员变量
public class GirlFriend {
    private String name;

    // 针对每一个私有化的成员变量,都要提供get和set方法
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}

四、构造方法

1. 构造方法概述

  • 构造方法也叫构造器、构造函数。
  • 作用:创建对象的时候,由虚拟机自动调用,给成员变量进行初始化的。

2. 构造方法的格式

  1. 方法名和类名相同,大小也要一致
  2. 没有返回值类型,连void都没有
  3. 没有具体的返回值(不能由return带回数据结果)
  • 标准格式:
    public class Student {
    	修饰符 类名(参数){
    		方法体;
    	}
    }
    
  • 空参构造
    public Student() {
    	... // 空参构造
    }
    
  • 带参构造
    public Student(String name, int age) {
    	... // 带参构造
    }
    

3. 构造方法注意事项

  1. 构造方法的定义
    • 如果没有定义构造方法,系统将给出一个默认无参构造方法
    • 如果定义了构造方法,系统将不再提供默认的构造方法
  2. 构造方法的重载
    • 带参构造方法,和无参构造方法,两者方法名相同,但参数不同,这叫做构造方法的重载。
  3. 无论是否使用,都要手动书写无参构造方法和带全部参数的构造方法。

五、标准JavaBean

  • 类名需要见名知意
  • 成员变量使用private修饰
  • 提供至少两个构造方法
    • 无参构造方法
    • 带全部参数的构造方法
  • 成员方法
    • 提供每一个成员变量对应的setXXX() / getXXX()
    • 如果还有其他行为,也需要写上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iFulling

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值