前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一篇文章带你了解Java类的设计和封装及类成员的访问控制

一篇文章带你了解Java类的设计和封装及类成员的访问控制

作者头像
Java进阶者
发布2021-01-22 10:43:19
4920
发布2021-01-22 10:43:19
举报
文章被收录于专栏:Java进阶学习交流

前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)手把手教你用Java打造一款简单故事书(下篇)手把手教你用Java打造一款简单考试系统(上篇)手把手教你用Java打造一款简单考试系统(下篇)手把手带你用Java打造一款对对碰游戏(上篇)手把手带你用Java打造一款对对碰游戏(下篇)手把手带你用Java实现点灯游戏(上篇)手把手带你用Java实现点灯游戏(下篇),接下来的几篇文章是关于Java基础的,希望对大家的学习有帮助,欢迎大家在讨论区留言。

一、类的设计

1.对象是通过类创建出来的,类的作用是用来描述一群具有相同的特征和行为的事物。

2.设计类三要素

类的名字:你要描述的这类事物叫什么名字;

这类事物具有的相同的特征:这类事物拥有什么;

这类事物具有的共同的行为:这类事物会做什么;

3.定义类的语法

代码语言:javascript
复制
[修饰符] class 类名{
    0或多个构造方法 //类创建对象的根本途径
    0或多个变量      //类的属性
    0或多个方法      //类的行为
}

4.修饰符:对于类和类定义中的成员(如构造方法、变量、方法等),都可以在定义的时候在前面加上不同的修饰符。

5.类的修饰符分成三种访问修饰符、类属性修饰符、抽象具体修饰符。

访问修饰符:public、protected、private、default。没有写的话系统默认是default。

类属性修饰符:static。

抽象具体修饰符:abstract、final。

6.如何设计一个学生类

代码语言:javascript
复制
class Student{
String name;//学生的姓名
int age;//学生的年龄
//myself()方法---自我介绍
public void myself(){
System.out.println("你好,我叫"+name+","+"今年"+age+"岁!");
  }
}
public class p14 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s=new Student();//创建学生对象
s.name="张三";//对象name属性赋值
s.age=18;//对象age属性赋值
s.myself();//调用对象的方法
  }
}

运行的结果是:

代码语言:javascript
复制
你好,我叫张三,今年18岁!

首先是设计一个学生类,在这个类中定义两个成员变量分别是学生的姓名(name)和年龄(age),定义一个方法myself()表示学生自我介绍。

二、类成员的访问控制

1.类成员的访问控制权限,分别是public、private、protected、default.

public:修饰的类或成员拥有公共作用域,表明这类或类的成员可以被任何Java中的类所访问。

private:修饰的变量或方法拥有私有作用域,只可以在此类中访问,在其他类中,包括该类的子类中也是不可以访问的。

protected:修饰的变量或方法拥有受保护作用域,可以被同一个包中所有的类及其他包中该类的子类所访问。

default:没有使用任何修饰符的,拥有默认访问权限,表明此类或类的成员可以被同一个包中的其它类访问。

final:表示最终的类或最终成员。修饰类表示此类不可以有子类,修饰变量时表示此变量是一个常量,修饰方法表示方法不能被覆盖。

abstract:表示抽象类或抽象方法。修饰类表示该类不可以定义对象,修饰方法表示该方法要被覆盖。

static:表示类成员或静态成员,代表该成员属于该类,并不属于该类的某一具体对象。

三、类的封装

1.什么是封装

封装是将类的某些信息隐藏在类内部,不让外部程序去访问,需要通过这个类提供的方法来实现对隐藏信息的操作和访问。

2.如何实现类的封装:

代码语言:javascript
复制
class Person{
    public String name;//名字
    private int age;//age属性私有化
   //设置age值方法
    public void setAge(int age){
            if(age >=0 && age <= 120){
                    this.age = age;
            }else{
                    System.out.println("年龄不合法....");
            }
    }
    //获取age值方法
    public int getAge(){
            return age;
    }
    //say()方法--自我介绍
    public void say(){
            System.out.println("你好!我是" + name + ",今年" + getAge() + "岁。");
    }
}
public class p15 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person();//创建对象
    p1.name = "张三";//对象name属性赋值
    p1.setAge(130);//设置age的值
    p1.say();//调用对象的方法
  }
}

运行的结果是:

代码语言:javascript
复制
年龄不合法....
你好!我是张三,今年0岁。

首先是定义个人类,将类的age属性私有化,私有属性只能在它所在的类中访问。如果想让外界访问私有属性,使用public修饰的公有方法,setAge()设置年龄喝getAge()获取年龄的方法。创建Person属性后,然后调用setAge()方法传入一个130的值,在setAge()方法对age的值进行判断如果传入值大于120,就会输出年龄不合法....

四、总结

本文主要介绍了类的设计、类成员的访问控制、类的封装。类的作用是用来描述一群具有相同的特征和行为的事物。

通过类的语法如何定义一个类的案例理解是怎么去定义的。类成员的访问控制介绍了public、private、protected、default这些的用法。

类封装就是类的某些信息隐藏在类内部,不让外部程序去访问,需要通过这个类提供的方法来实现对隐藏信息的操作和访问。如何实现类的封装案例来理解这个用法。希望大家通过本文的学习,对你有所帮助!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、类的设计
  • 二、类成员的访问控制
  • 三、类的封装
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档