开发者社区> 执久呀> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Java面向对象基础(下)

简介: 二、封装 封装的好处? Student类下: 代码: StudentDemo类下: 代码:
+关注继续查看

二、封装


封装是把类中的成员用private修饰使他不能被所以改变,然后提供get/set方法对锁封装


的成员进行赋值和赋值限制。


封装的好处?


封装使数据变得更有条理,我们提供的条件可以对外接输入的值进行筛选和判断,比如


设一个年龄,我们可以设置年龄的范围,和年龄的非负,并且给出相应的提示。


封装的演示图:


Student类下:


微信图片_20220105183051.png


代码:

 
 
    public class Student {
        private String name;
        private int age;
        public Student(){}//无参构造
       public Student(String name,int age){// 有参构造
           if(age<0){
               System.out.println("你输入的年龄有误,默认为18岁");
               this.age=18;   this.name=name;}
           else{
           this.age=age;this.name=name;}
       }
       public void setName(String name){//get/set方法
           this.name=name;
       }
       public String getName(){
            return name;
        }
       public void setAge(int age){
           if(age<0){
               System.out.println("你输入的年龄有误,默认为18岁");
               this.age=18;
           }else{
               this.age=age;
           }
       }
       public int getAge(){
           return age;
       }
}


StudentDemo类下:


微信图片_20220105183123.png


代码:

public class StudentDemo {
    public static void main(String[] args) {
        Student s=new Student();//创建无参对象
        s.setAge(20);
        s.setName("张三");
        System.out.println(s.getName()+" ,"+s.getAge());
        s=new Student("李四",-1);//创建对象的同时赋值
        System.out.println(s.getName()+","+s.getAge());
    }
}


我们也可以在输入年龄的时候加上Sanner进行键盘上的输入这里就不演示了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java 基础入门 | 第六章 面向对象
目录面向对象简介什么是对象对象的定义对象的组成什么是类?类的定义类的组成类的定义与使用类的定义类的使用方法的重载构造方法的使用作业作业一:作业二:作业三:面向对象简介面向对象思想(OOP)将客观世界中的
0 0
Java面向对象之抽象类与接口
本篇文章为面向对象部分的第三篇文章,前两篇文章见链接包和继承、组合与多态。抽象类和接口都是继承关系中父类的更进一步,结合前两篇文章来阅读更易理解掌握。
0 0
Java面向对象之组合与多态
本篇文章是上一篇包和继承文章的后续篇,针对面向对象编程的组合、多态、抽象类与接口方面内容的总结分享,希望各位小主们认真浏览,一定会受益多多哟
0 0
Java面向对象之封装和继承
本篇文章记录博主对面向对象部分的学习,带大家认识Java基础知识——包与继承,后续内容将持续更新。
0 0
Java面向对象11——匿名内部类知识点总结
Java面向对象11——匿名内部类知识点总结
0 0
Java面向对象10——内部类知识点总结
Java面向对象10——内部类知识点总结
0 0
Java面向对象8——接口(内含IDEA中有关创建接口的创建说明)
上一次我们说了抽象方法的存在是因为父类可以抽取子类中的共性方法,但是共性方法内实现方法不同所以要将共性方法写成抽象方法,那么如果子类中有一个“另类”不需要这个方法的话,我们就无法使用抽象方法了,而是要使用接口,哪个子类需要用,就继承该接口
0 0
Java面向对象8——抽象类和抽象方法(知识点+使用方法)
抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现
0 0
Java面向对象进阶7——代码块
Java面向对象进阶7——代码块
0 0
Java面向对象进阶6——权限修饰符(含源码阅读)
在上面举例的代码中,brand , colour两个变量是没用访问修饰符的,但是可以在同一个包的测试类中使用是不会报错的,但是如果使用别的包中的类就会报错
0 0
+关注
执久呀
CSDN新星博主执久呀
文章
问答
文章排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载