Java類的設計和封裝及類成員的訪問控制
本文主要介紹了類的設計、類成員的訪問控制、類的封裝。類的作用是用來描述一群具有相同的特徵和行為的事物。 |
1.物件是透過類建立出來的,類的作用是用來描述一群具有相同的特徵和行為的事物。
2.設計類三要素
類的名字:你要描述的這類事物叫什麼名字;
這類事物具有的相同的特徵:這類事物擁有什麼;
這類事物具有的共同的行為:這類事物會做什麼;
3.定義類的語法
[修飾符] class 類名{ 0或多個構造方法 //類建立物件的根本途徑 0或多個變數 //類的屬性 0或多個方法 //類的行為 }
4.修飾符:對於類和類定義中的成員(如構造方法、變數、方法等),都可以在定義的時候在前面加上不同的修飾符。
5.類的修飾符分成三種訪問修飾符、類屬性修飾符、抽象具體修飾符。
訪問修飾符:public、protected、private、default。沒有寫的話系統預設是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();//建立學生物件 s.name="張三";//物件name屬性賦值 s.age=18;//物件age屬性賦值 s.myself();//呼叫物件的方法 } }
執行的結果是:
你好,我叫張三,今年18歲!
首先是設計一個學生類,在這個類中定義兩個成員變數分別是學生的姓名(name)和年齡(age),定義一個方法myself()表示學生自我介紹。
1.類成員的訪問控制許可權,分別是public、private、protected、default.
public:修飾的類或成員擁有公共作用域,表明這類或類的成員可以被任何Java中的類所訪問。
private:修飾的變數或方法擁有私有作用域,只可以在此類中訪問,在其他類中,包括該類的子類中也是不可以訪問的。
protected:修飾的變數或方法擁有受保護作用域,可以被同一個包中所有的類及其他包中該類的子類所訪問。
default:沒有使用任何修飾符的,擁有預設訪問許可權,表明此類或類的成員可以被同一個包中的其它類訪問。
final:表示最終的類或最終成員。修飾類表示此類不可以有子類,修飾變數時表示此變數是一個常量,修飾方法表示方法不能被覆蓋。
abstract:表示抽象類或抽象方法。修飾類表示該類不可以定義物件,修飾方法表示該方法要被覆蓋。
static:表示類成員或靜態成員,代表該成員屬於該類,並不屬於該類的某一具體物件。
1.什麼是封裝
封裝是將類的某些資訊隱藏在類內部,不讓外部程式去訪問,需要透過這個類提供的方法來實現對隱藏資訊的操作和訪問。
2.如何實現類的封裝:
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();//呼叫物件的方法 } }
執行的結果是:
年齡不合法....
你好!我是張三,今年0歲。
首先是定義個人類,將類的age屬性私有化,私有屬性只能在它所在的類中訪問。如果想讓外界訪問私有屬性,使用public修飾的公有方法,setAge()設定年齡喝getAge()獲取年齡的方法。建立Person屬性後,然後呼叫setAge()方法傳入一個130的值,在setAge()方法對age的值進行判斷如果傳入值大於120,就會輸出年齡不合法....
本文主要介紹了類的設計、類成員的訪問控制、類的封裝。類的作用是用來描述一群具有相同的特徵和行為的事物。
透過類的語法如何定義一個類的案例理解是怎麼去定義的。類成員的訪問控制介紹了public、private、protected、default這些的用法。
類封裝就是類的某些資訊隱藏在類內部,不讓外部程式去訪問,需要透過這個類提供的方法來實現對隱藏資訊的操作和訪問。如何實現類的封裝案例來理解這個用法。希望大家透過本文的學習,對你有所幫助!
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2748681/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java類成員中的訪問級別有哪些Java
- 類的訪問控制
- Java中變數之區域性變數、本類成員變數、父類成員變數的訪問方法Java變數
- (3)Tcp Socket程式設計的封裝類 TcpListener/TcpClientTCP程式設計封裝client
- C++類中的常成員和靜態成員C++
- 既然Java反射可以訪問和修改私有成員變數,那封裝成private還有意義麼?Java反射變數封裝
- Java訪問類變數Java變數
- 4、類和物件—封裝物件封裝
- 【python】類的特殊成員Python
- Java內部類詳解-- 成員內部類Java
- 一、類的封裝性封裝
- 內部類中的成員的定義和使用
- 十五、類與封裝的概念封裝
- java中的成員內部類,程式碼截圖Java
- 好程式設計師Java學習路線分享Java案例-封裝JDBC工具類程式設計師Java封裝JDBC
- C++:類的成員函式C++函式
- C++:類的靜態成員C++
- c++類的靜態成員C++
- 不同包類的互相訪問
- 好程式設計師Java教程分享Java之包裝類與常用類程式設計師Java
- C#快速入門教程(3)——類的靜態成員和例項成員C#
- oop類的繼承與類靜態成員學習OOP繼承
- 封裝Redis工具類封裝Redis
- 封裝Date工具類封裝
- 類內的靜態成員函式函式
- 類成員變數的初始化變數
- 關於TornadoFx和Android的全域性配置工具類封裝實現及思路解析Android封裝
- 10-Java內部類——成員內部類、區域性內部類、匿名內部類Java
- Java 通過反射獲取類的資訊(成員變數,成員方法,構造方法)Java反射變數構造方法
- 基於javascript的拖拽類封裝^o^JavaScript封裝
- Android常用工具類的封裝Android封裝
- 全網最適合入門的物件導向程式設計教程:06 類和物件的Python實現-自定義類的資料封裝物件程式設計Python封裝
- 7.類特殊成員
- 實體類,邊界類和控制類
- MFC之動態呼叫自己寫的類庫中的類的成員方法
- Java中的包裝類Java
- 將POJO類的成員全部設定為public多省事兒POJO
- Java語言程式設計——物件和類09Java程式設計物件