一篇文章帶你了解Java類的設計和封裝及類成員的訪問控制
一、類的設計
1.對象是通過類創(chuàng)建出來的,類的作用是用來描述一群具有相同的特征和行為的事物。
2.設計類三要素
類的名字:你要描述的這類事物叫什么名字;
這類事物具有的相同的特征:這類事物擁有什么;
這類事物具有的共同的行為:這類事物會做什么;
3.定義類的語法
- [修飾符] class 類名{
- 0或多個構造方法 //類創(chuàng)建對象的根本途徑
- 0或多個變量 //類的屬性
- 0或多個方法 //類的行為
- }
4.修飾符:對于類和類定義中的成員(如構造方法、變量、方法等),都可以在定義的時候在前面加上不同的修飾符。
5.類的修飾符分成三種訪問修飾符、類屬性修飾符、抽象具體修飾符。
訪問修飾符:public、protected、private、default。沒有寫的話系統(tǒng)默認是default。
類屬性修飾符:static。
抽象具體修飾符:abstract、final。
6.如何設計一個學生類
- 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();//創(chuàng)建學生對象
- s.name="張三";//對象name屬性賦值
- s.age=18;//對象age屬性賦值
- s.myself();//調(diào)用對象的方法
- }
- }
運行的結果是:
- 你好,我叫張三,今年18歲!
首先是設計一個學生類,在這個類中定義兩個成員變量分別是學生的姓名(name)和年齡(age),定義一個方法myself()表示學生自我介紹。
二、類成員的訪問控制
1.類成員的訪問控制權限,分別是public、private、protected、default.
public:修飾的類或成員擁有公共作用域,表明這類或類的成員可以被任何Java中的類所訪問。
private:修飾的變量或方法擁有私有作用域,只可以在此類中訪問,在其他類中,包括該類的子類中也是不可以訪問的。
protected:修飾的變量或方法擁有受保護作用域,可以被同一個包中所有的類及其他包中該類的子類所訪問。
default:沒有使用任何修飾符的,擁有默認訪問權限,表明此類或類的成員可以被同一個包中的其它類訪問。
final:表示最終的類或最終成員。修飾類表示此類不可以有子類,修飾變量時表示此變量是一個常量,修飾方法表示方法不能被覆蓋。
abstract:表示抽象類或抽象方法。修飾類表示該類不可以定義對象,修飾方法表示該方法要被覆蓋。
static:表示類成員或靜態(tài)成員,代表該成員屬于該類,并不屬于該類的某一具體對象。
三、類的封裝
1.什么是封裝
封裝是將類的某些信息隱藏在類內(nèi)部,不讓外部程序去訪問,需要通過這個類提供的方法來實現(xiàn)對隱藏信息的操作和訪問。
2.如何實現(xiàn)類的封裝:
- 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();//創(chuàng)建對象
- p1.name = "張三";//對象name屬性賦值
- p1.setAge(130);//設置age的值
- p1.say();//調(diào)用對象的方法
- }
- }
運行的結果是:
- 年齡不合法....
- 你好!我是張三,今年0歲。
首先是定義個人類,將類的age屬性私有化,私有屬性只能在它所在的類中訪問。如果想讓外界訪問私有屬性,使用public修飾的公有方法,setAge()設置年齡喝getAge()獲取年齡的方法。創(chuàng)建Person屬性后,然后調(diào)用setAge()方法傳入一個130的值,在setAge()方法對age的值進行判斷如果傳入值大于120,就會輸出年齡不合法....
四、總結
本文主要介紹了類的設計、類成員的訪問控制、類的封裝。類的作用是用來描述一群具有相同的特征和行為的事物。
通過類的語法如何定義一個類的案例理解是怎么去定義的。類成員的訪問控制介紹了public、private、protected、default這些的用法。
類封裝就是類的某些信息隱藏在類內(nèi)部,不讓外部程序去訪問,需要通過這個類提供的方法來實現(xiàn)對隱藏信息的操作和訪問。如何實現(xiàn)類的封裝案例來理解這個用法。希望大家通過本文的學習,對你有所幫助!