49-Java面向对象:设计对象、注意事项

本文介绍了面向对象编程中的类和对象,通过实例展示了如何设计类、创建对象并使用它们。讲解了类作为对象模板,对象作为类的实例的角色,并提供了汽车类和学生类的示例代码,阐述了成员变量和方法的定义及访问方式。同时,提到了定义类的注意事项和成员变量的默认值规则。最后,给出了定义类和使用对象的巩固练习及注意事项。
摘要由CSDN通过智能技术生成

一、什么是类?

  • 还是举一些生活中的实际问题来解释类是啥?
    • 比如:你要建一栋楼,是不是需要先将这栋楼的设计图弄出来,才能进行下一步施工
    • 比如:你要造一部新手机,是不是需要先将这部手机的设计图弄出来
    • 比如:你要造一辆汽车,是不是需要先将这辆汽车的设计图弄出来

在这里插入图片描述

  • 类(设计图): 是对象共同特征的描述;
  • 对象: 是真实存在的具体实例。
  • 结论:在Java中,必须先设计类,才能创建对象并使用

二、如何设计类(对象)?如何使用对象?

  • 格式:

    public class 类名 {
        1.成员变量(代表属性,一般是名词): 比如姓名、年龄、成绩 ...
        2.成员方法(代表行为,一般是动词): 比如吃饭、睡觉、跑步 ...
        3.构造器(后几节再说)
        4.代码块(后面再学)
        5.内部类(后面再学)
    }
    
  • 示例:

    • 需要开发一个汽车之家
      在这里插入图片描述

    • 分析:

      • 先分析成员变量有哪些?
        • 汽车名称、价格
      • 再分析行为有哪些?
        • 汽车启动、运行
    • 实现思路:

      • (1) 设计汽车类

        public class Car {
            // 属性(成员变量)
            String name; 	// 汽车名称
            double price;	// 汽车价格
            
            // 行为(方法)
            public void start() {	// 启动
                
            }
            public void run() {	 // 运行
                
            }
        }
        
      • (2) 得到类的对象

        类名 对象名 = new 类名();
        Car c = new Car();
        
      • (3) 使用对象

        • 访问属性:

          对象名.成员变量
          
        • 访问行为:

          对象名.方法名(...)
          
  • 实例:

    • 设计汽车类
    package com.app.createobject;
    
    // 汽车之家类
    public class Car {
        // 成员变量:汽车名称、价格
        String name;
        double price;
    
        // 汽车行为——>方法:启动、运行
        public void start() {
            System.out.println(name + "启动了~");
        }
        public void run() {
            System.out.println("价格为" + price + "万的" + name + "跑得很快~~");
        }
    }
    
    • 创建汽车对象并使用
    package com.app.createobject;
    
    /**
        目标:学会设计对象并使用
     */
    public class Test1 {
        public static void main(String[] args) {
            // 创建汽车对象
            Car c = new Car();
    
            // 访问成员变量:汽车名称、价格 分别进行赋值
            c.name = "宝马X3";
            c.price = 47.98;
    
            // 访问成员变量:输出
            System.out.println("款式一: " + c.name + "\t价格: " + c.price + "万");
    
            // 访问行为——>调用汽车行为方法:启动、运行
            c.start();
            c.run();
    
            System.out.println("---------------------------------------");
            Car c2 = new Car();
            c2.name = "奔驰S级";
            c2.price = 178.17;
    
            System.out.println("款式二: " + c2.name + "\t价格: " + c2.price + "万");
    
            c2.start();
            c2.run();
        }
    }
    
    输出结果:
    
    款式一: 宝马X3	价格: 47.98万
    宝马X3启动了~
    价格为47.98万的宝马X3跑得跟快~~
    ---------------------------------------
    款式二: 奔驰S级	价格: 178.17万
    奔驰S级启动了~
    价格为178.17万的奔驰S级跑得很快~~
    
    
总结

1、类和对象是什么?

  • 类:是共同特征的描述——设计图;
  • 对象:是真实存在的具体实例。

2、如何设计类?

public class 类名 {
    1.成员变量(代表属性的,一般是名词);比如:姓名、年龄...
    2.成员方法(代表行为的,一般是动词);比如:吃饭、睡觉...
}

3、如何创建对象?

类名 对象名 = new 类名();

4、创建对象后如何访问对象的属性?

对象名.成员变量;
对象名.成员方法(...);

三、巩固练习

  • 模仿汽车类,自己定义一个学生类。

  • 随便定义2个属性,2个行为。

  • 并创建2个学生对象,分别访问属性和行为。

  • 设计学生类

package com.app.createobject;

// 学生类
public class Student {
    // 成员变量:姓名、成绩、上课状态
    String name;
    double score;
    int status;

    // 行为——>方法:判断学生成绩是否及格、学生上课状态
    public void judgeScore() {
        // 三元运算符判断:分数是否大于等于60,是则为true及格,否则为false不及格
        System.out.println(score >= 60 ? name + "同学考试及格了!" : name + "同学考试不及格!");
    }
    public void classStatus() {
        // 三元运算符判断:上课状态是否为1,是则为true认真听课,否则为false上课睡大觉
        System.out.println(status == 1 ? name + "同学上课很认真听课~~" : name + "同学上课睡大觉开小差~~");
    }
}
  • 实现类
package com.app.createobject;

/**
    目标:学会设计对象并使用
 */
public class StudentTest2 {
    public static void main(String[] args) {
        // 创建学生1
        Student stu1 = new Student();

        // 访问学生1的属性:姓名、成绩、上课状态,分别进行赋值
        stu1.name = "关羽";
        stu1.score = 99.5;
        stu1.status = 1;

        // 访问学生1的行为方法:判断成绩、上课状态
        stu1.judgeScore();
        stu1.classStatus();

        System.out.println("------------------------------");
        Student stu2 = new Student();

        stu2.name = "张飞";
        stu2.score = 59;
        stu2.status = 0;

        stu2.judgeScore();
        stu2.classStatus();
    }
}
输出结果:

关羽同学考试及格了!
关羽同学上课很认真听课~~
------------------------------
张飞同学考试不及格!
张飞同学上课睡大觉开小差~~

四、定义类的注意事项

  • 类名首字母建议大写,且有意义,满足"驼峰模式"。

    // 学生管理类
    public class StudentManage {
        
    }
    
  • 一个Java文件中可以定义多个class类,但只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。
    在这里插入图片描述

在这里插入图片描述

实际开发中建议一个文件定义一个class类

  • 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

五、成员变量的默认值规则

数据类型明细默认值
byte、short、char、int、long0
基本类型float、double0.0
booleanfalse
引用类型类、接口、数组、Stringnull
总结

1、定义类有哪些建议、注意事项?

  • 类名首字母建议大写、英文、有意义,满足“驼峰模式”,不能使用关键字,满足标识符规定
  • 一个代码文件中可以定义多个类,但是只能一个类是public修饰的,public修饰的类名必须是Java代码的文件名
  • 在实际开发中建议一个文件定义一个class类

2、成员变量的格式是?有什么特点?

  • 成员变量的完整格式是: 修饰符 数据类型 变量名称 = 初始化值;
  • 一般无需为成员变量指定初始化值,因为存在默认值
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值