封装性练习

练习 1
创建程序:在其中定义两个类: Person PersonTest 类。定义如下:
setAge() 设置人的合法年龄 (0~130) ,用 getAge() 返回人的年龄。在 PersonTest 类中实例化 Person 类的对象
b ,调用 setAge() getAge() 方法,体会 Java 的封装性。

 代码

package chapter06_oop1_teacher.src.com.atguigu07.encapsulation.exer1;/*** ClassName: Person* Description:** @Author 尚硅谷-宋红康* @Create 15:30* @Version 1.0*/
public class Person {private int age;//设置age属性public void setAge(int a){if(a >= 0 && a <= 130){age = a;}else{System.out.println("你输入的数据非法");}}//获取age属性public int getAge(){return age;}//错误的
//    public int doAge(int a){
//        if(a >= 0 && a <= 130){
//            age = a;
//            return age;
//        }else{
//            System.out.println("你输入的数据非法");
//            return -1;
//        }
//    }}

package chapter06_oop1_teacher.src.com.atguigu07.encapsulation.exer1;/*** ClassName: PersonTest* Description:** @Author 尚硅谷-宋红康* @Create 15:32* @Version 1.0*/
public class PersonTest {public static void main(String[] args) {//创建Person实例1Person p1 = new Person();
//        p1.age = 10; //编译不通过
//        System.out.println(p1.age);p1.setAge(20);System.out.println(p1.getAge());}
}

练习 2
自定义图书类。设定属性包括:书名 bookName ,作者 author ,出版社名 publisher ,价格 price ;方法包
括:相应属性的 get/set 方法,图书信息介绍等。

 

代码

package chapter06_oop1_teacher.src.com.atguigu07.encapsulation.exer2;/*** ClassName: Book* Description:** @Author 尚硅谷-宋红康* @Create 15:37* @Version 1.0*/
public class Book {private String bookName; //书名private String author; //作者private double price; //价格public String getBookName() {return bookName;}public void setBookName(String bn) {bookName = bn;}public String getAuthor() {return author;}public void setAuthor(String a) {author = a;}public double getPrice() {return price;}public void setPrice(double p) {price = p;}//获取读书信息public String showInfo() {return "bookName : " + bookName + ", author : " + author + ", price : " + price;}}

package chapter06_oop1_teacher.src.com.atguigu07.encapsulation.exer2;/*** ClassName: BookTest* Description:** @Author 尚硅谷-宋红康* @Create 15:40* @Version 1.0*/
public class BookTest {public static void main(String[] args) {Book book1 = new Book();book1.setBookName("剑指Java");book1.setAuthor("尚硅谷教育");book1.setPrice(180.0);System.out.println(book1.showInfo());}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/578198.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

李雅普诺夫函数

李雅普诺夫函数是一种用于描述动力系统稳定性的数学工具。它在动力系统和控制理论中具有广泛的应用&#xff0c;尤其是在研究非线性系统的稳定性方面。 李雅普诺夫函数通常用于证明动力系统在一些条件下是稳定的。一个李雅普诺夫函数是一个实数值函数&#xff0c;通常表示为 V…

【Django学习笔记(二)】CSS语言介绍

CSS语言介绍 前言正文1、CSS 快速了解2、CSS 应用方式2.1 在标签上应用2.2 在head标签中写style标签2.3 写到文件中 3、问题探讨&#xff1a;用Flask框架开发不方便4、选择器4.1 ID选择器4.2 类选择器4.3 标签选择器4.4 属性选择器4.5 后代选择器4.6 注意事项 5、样式5.1 高度和…

使用mysql官网软件包安装mysql

确定你的操作系统&#xff0c;我的是Centos myqsl 所有安装包的地址&#xff1a;https://repo.mysql.com/yum/ 如果你是使用rpm安装你可以到对应的版本里面找到对应的包。 mysql 发行包的地址&#xff1a;http://repo.mysql.com/ 在这里你可以找到对应的发布包安装。 这里使用y…

【Qt】:坐标

坐标 一.常用快捷键二.使用帮助文档三.Qt坐标体系1.理论2.代码 一.常用快捷键 注释&#xff1a;ctrl / • 运⾏&#xff1a;ctrl R • 编译&#xff1a;ctrl B • 字体缩放&#xff1a;ctrl ⿏标滑轮 • 查找&#xff1a;ctrl F • 整⾏移动&#xff1a;ctrl shift ⬆/…

什么是防火墙,部署防火墙有什么好处?

与我们的房屋没有围墙或界限墙一样&#xff0c;没有防护措施的计算机和网络将容易受到黑客的入侵&#xff0c;这将使我们的网络处于巨大的风险之中。因此&#xff0c;就像围墙保护我们的房屋一样&#xff0c;虚拟墙也可以保护和安全我们的设备&#xff0c;使入侵者无法轻易进入…

3D汽车模型线上三维互动展示提供视觉盛宴

VR全景虚拟看车软件正在引领汽车展览行业迈向一个全新的时代&#xff0c;它不仅颠覆了传统展览的局限&#xff0c;还为参展者提供了前所未有的高效、便捷和互动体验。借助于尖端的vr虚拟现实技术、逼真的web3d开发、先进的云计算能力以及强大的大数据处理&#xff0c;这一在线展…

蓝桥备赛——堆队列

AC code import os import sys import heapq a [] b [] n,k map(int,input().split())for _ in range(n):x,y map(int,input().split())a.append(x)b.append(y) q []# 第一种情况&#xff1a;不打第n个怪兽# 将前n-1个第一次所需能量加入堆 for i in range(n-1):heapq.h…

使用anime.js实现列表滚动轮播

官网&#xff1a;https://animejs.com/ html <div id"slide1"><div class"weather-item" v-for"item in weatherList"><div><img src"../../images/hdft/position.png" alt"">{{item.body.cityInf…

DVWA-CSRF通关教程-完结

DVWA-CSRF通关教程-完结 文章目录 DVWA-CSRF通关教程-完结Low页面使用源码分析漏洞利用 Medium源码分析漏洞利用 High源码分析漏洞利用 impossible源码分析 Low 页面使用 当前页面上&#xff0c;是一个修改admin密码的页面&#xff0c;只需要输入新密码和重复新密码&#xff…

LeetCode:718最长重复子数组 C语言

718. 最长重复子数组 提示 给两个整数数组 nums1 和 nums2 &#xff0c;返回 两个数组中 公共的 、长度最长的子数组的长度 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,3,2,1], nums2 [3,2,1,4,7] 输出&#xff1a;3 解释&#xff1a;长度最长的公共子数组是 [3,…

protobuf学习笔记(二):结合grpc生成客户端和服务端

上一篇文章大概讲了如何将自定义的protobuf类型的message转换成相应的go文件&#xff0c;这次就结合grpc写一个比较认真的客户端和服务器端例子 一、项目结构 client存放rpc服务的客户端文件 server存放rpc服务的服务端文件 protobuf存放自定义的proto文件 grpc存放生成的g…

IP可以申请SSL证书吗?

目录 背景&#xff1a; 申请IP证书的基本条件&#xff1a; 支持IP地址的证书类型&#xff1a; 为什么要申请IP地址证书&#xff1f; 如何申请IP地址证书 背景&#xff1a; IP地址是可以实现https加密需求的&#xff0c;且IP SSL证书可以完美的解决企业对于IP地址实现http…