java如何封装和私有化_java入门(十五) | OOP(二)之封装和private

a87d8a8c6576a46fa3d9cb13e1b828eb.png

封装

1.1 概述

封装是指隐藏对象的属性和实现细节

仅仅对外提供公共的访问路径/方式。

优点:

提高安全性

提高重用性

1.2 private关键字

private关键字是一个权限修饰符,用于修饰成员变量和成员函数。

被私有化的成员只能在本类中访问。

1.3 练习:封装学生类

Student类:

package cn.qile.oop;

//创建学生类--描述学生事物 属性+行为

public class Student {

// 属性 -- 成员变量

private String name;//被私有化的资源无法访问

//提供公共的访问方式 --setXxx()进行设置值

public void setName(String n) {

name = n;//给成员变量name赋值

}

//提供公共的访问方式 --getXxx()进行获取值

public String getName(){

return name;//把name属性的值,返回调用位置

}

//TODO 封装以下属性,并提供公共的set()/get()

int sno;//学号

String subject;//学科

double score;//成绩

int age;

String addr;

// 行为 -- 成员方法

//通过private关键字,实现封装,私有化资源

private void study() {

System.out.println("正在学习");

}

public void eat() {

System.out.println("正在吃饭");

}

}

测试学生类 Test2_Student:

package cn.qile.oop;

//测试学生类的使用

public class Test2_Student {

public static void main(String[] args) {

//创建学生对象测试

Student s = new Student();

//设置属性值

// s.name="其乐";//被私有化的资源无法访问

s.setName("其乐");//私有化后可以访问公共的set()设置值

s.age=20;

s.subject="java";

s.sno=1;

s.score=20;

s.addr="北京";

//打印属性值

// System.out.println(s.name);//被私有化的资源无法访问

//私有化后可以访问公共的get()获取值

System.out.println(s.getName()+"=========");//其乐 =========

System.out.println(s.age); //20

System.out.println(s.subject);//java

System.out.println(s.sno); //1

System.out.println(s.score); //20.0

System.out.println(s.addr); //北京

//调用功能

s.eat(); //正在吃饭

// s.study();//被私有化的资源,本类之外的类都无法访问

}

}

在测试中name成员变量被private修饰后,不能够被s.name所调用,而是通过所提供的get/set方法去调用;这就可以去提高数据的安全性;而当成员方法被private关键字所封装之后,就成为了私有化资源,不能够被本类之外的类访问。

在这给大家一个案例,你们可以自行去做:

老师事物:设置特性和功能

特征:姓名、年龄、住址

功能:授课 育人

测试:

1、创建Teacher对象

2、调用老师的属性和功能

3、修改老师的属性测试

4、封装Teacher类并测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值