栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础(六)——面向对象基础、类与对象、

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础(六)——面向对象基础、类与对象、

Java基础(六)——面向对象基础 一、对象 1、什么是对象


现实中的对象:

2、什么是类

类,这个类是指某一类事物,这一类事物肯定有某种或某些共同的特征,让你一眼看到就知道它是某一类事物。

比如看到一个四脚生物,你一眼看到就知道这是狗,而不是猫,不是蜘蛛,更不是人;所以称这一类生物是狗。

3、类的定义

4、类与对象的关系

5、对象的创建和赋值、取值、调用方法

这里以学生举例子。创建学生这个类:

public class Student {
    String name;
    int number;
    int englishResults;     // 英语成绩
    int chineseResults;     // 语文成绩
    int mathResults;        // 数学成绩

	public int average(){
        return (englishResults+mathResults+chineseResults)/3;
    }

这样学生这个类就创建好了,姓名、学号、三科成绩,以及求平均成绩这个方法。

怎么创建一个个学生这些对象呢?

Student stu1 = new Student();		// 创建了学生1.也叫实例化对象

接着,可以为实例化后的对象赋值:

stu1.name = "张三";
stu1.number = 1;
stu1.englishResults = 80;

如果要调用方法,或者取得英语成绩,则通过 对象 . 方法()/ 属性 来调用:

System.out.println(stu1.englishResults);
System.out.println(stu1.average());
6、封装

但是这里会有一个问题,学生的成绩可以随意设置,比如设置一个负数,或者设置很大的整数,这些当然都是不对的,那么解决的方法就有:赋值前做判断,但是每次创建对象赋值都要判断,明显不可取;也可以在类里面创建方法,方法里面做判断,通过方法来设置成绩,但是用户依然可以直接调用属性的方式来赋值,也不可取,所以就有了封装。

a、私有化属性以及get、set方法

为了不让外部随意调用里面的属性,可以对其属性进行私有化,通过 private 关键字:

private int englishResults;     // 私有化英语成绩
private int chineseResults;     // 私有化语文成绩
private int mathResults;        // 私有化数学成绩

这样就能私有化属性,外部调用则会报错。

私有化属性后,外部不能随便调用,但是怎么设置该属性以及获取属性呢?
当私有化以后,虽然外部不能调用,但是内部可以调用,java就提供了get、set方法,顾名思义,get是获取,set是设置。

而且设置成绩有要求,不能是负数,所以在设置 set 方法里面可以进行一些列的判断:

public void setEnglishResults(int a){   // 设置英语成绩,需要接收值,无需返回值
        if (englishResults<0){
            System.out.println("英语分数有误,罚你0分");
            englishResults = 0;
        }else {
            englishResults = a;
        }
    }

使用 set 方法需要接收值,但是不用返回值,所以方法时 void 类型的。

接着就是取出数据的 get 方法:

public int getEnglishResults(){	// 有返回值,所以方法要注意类型
        return englishResults;
    }

get 方法有返回值,所以这里是 int 类型的方法。

当设置好以后,就可以通过外部调用方法,来为私有化的属性赋值:

stu1.setEnglishResults(60);		// 赋值

System.out.println(stu1.getEnglishResults());		// 取值
b、封装总结

属性的封装:使数据更合理化:

  1. 属性私有化(private)
  2. 提供 get()/set() 方法进行取值和赋值

set():给属性进行赋值——有参数,没有返回值
get():获取对象的属性值——没有参数,有返回值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号