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

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

[[361314]]

一、类的设计

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

2.设计类三要素

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

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

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

3.定义类的语法

  1. [修饰符] class 类名{ 
  2.     0或多个构造方法 //类创建对象的根本途径 
  3.     0或多个变量      //类的属性 
  4.     0或多个方法      //类的行为 

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

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

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

类属性修饰符:static。

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

6.如何设计一个学生类

  1. class Student{ 
  2. String name;//学生的姓名 
  3. int age;//学生的年龄 
  4. //myself()方法---自我介绍 
  5. public void myself(){ 
  6. System.out.println("你好,我叫"+name+","+"今年"+age+"岁!"); 
  7.   } 
  8. public class p14 { 
  9. public static void main(String[] args) { 
  10. // TODO Auto-generated method stub 
  11. Student s=new Student();//创建学生对象 
  12. s.name="张三";//对象name属性赋值 
  13. s.age=18;//对象age属性赋值 
  14. s.myself();//调用对象的方法 
  15.   } 

运行的结果是:

  1. 你好,我叫张三,今年18岁! 

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

二、类成员的访问控制

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

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

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

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

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

 

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

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

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

三、类的封装

1.什么是封装

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

2.如何实现类的封装:

  1. class Person{ 
  2.     public String name;//名字 
  3.     private int age;//age属性私有化 
  4.    //设置age值方法 
  5.     public void setAge(int age){ 
  6.             if(age >=0 && age <= 120){ 
  7.                     this.age = age; 
  8.             }else
  9.                     System.out.println("年龄不合法...."); 
  10.             } 
  11.     } 
  12.     //获取age值方法 
  13.     public int getAge(){ 
  14.             return age; 
  15.     } 
  16.     //say()方法--自我介绍 
  17.     public void say(){ 
  18.             System.out.println("你好!我是" + name + ",今年" + getAge() + "岁。"); 
  19.     } 
  20. public class p15 { 
  21. public static void main(String[] args) { 
  22. // TODO Auto-generated method stub 
  23. Person p1 = new Person();//创建对象 
  24.     p1.name = "张三";//对象name属性赋值 
  25.     p1.setAge(130);//设置age的值 
  26.     p1.say();//调用对象的方法 
  27.   } 

运行的结果是:

  1. 年龄不合法.... 
  2. 你好!我是张三,今年0岁。 

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

四、总结

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

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

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

 

责任编辑:姜华 来源: Java进阶学习交流
相关推荐

2022-01-15 10:02:03

Java Hashtable类 Java 基础

2021-01-26 05:26:33

Java抽象类接口

2021-05-18 09:00:28

Pythonclass

2023-05-08 08:21:15

JavaNIO编程

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平台

2021-10-22 09:55:13

CSS伪类 样式

2021-01-12 08:42:28

Css前端Pseudo-clas

2021-03-15 08:38:42

StringBuffeJava基础Java开发

2021-01-29 18:41:16

JavaScript函数语法

2020-11-10 10:48:10

JavaScript属性对象

2021-02-02 18:39:05

JavaScript

2021-06-04 09:56:01

JavaScript 前端switch

2023-09-06 14:57:46

JavaScript编程语言

2021-05-18 08:30:42

JavaScript 前端JavaScript时

2023-07-30 15:18:54

JavaScript属性

2021-01-26 23:46:32

JavaScript数据结构前端

2021-03-05 18:04:15

JavaScript循环代码

2024-01-30 13:47:45

2021-03-09 14:04:01

JavaScriptCookie数据
点赞
收藏

51CTO技术栈公众号