對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

第一章 Java 程序设计技术 概述  什么是 Java 语言  一个简单的 Java 程序  程序的编译和运行  常见错误  使用 Java 核心 API 文档.
面向对象程序设计 、. 第二章 面向对象的分析与设计 学习目标 1 确定系统中的对象 2 确定对象的属性及操作 3 测试对象的有效性 4 区分对象和类 5 了解面向对象的编程和过程化编程之间的区别 6 了解封装的主要好处 7 了解软件开发的主要步骤.
第6章 对象和类.
Java语言的特点 Java开发环境的搭建
单元二:面向对象程序设计 任务二:借书卡程序设计.
第四章 类、对象和接口.
第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第 9 章 物件的建構.
6. 6 Overloading methods and constructors 6
项目6 通用堆栈.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
Java程序设计教程 第一讲 Java概述.
四資二甲 第三週作業 物件導向程式設計.
北京科技大学天津学院 信息工程系 面 向 对 象 程 序 设 计 第1讲 Java初探 主讲:于静.
第一章 面向对象程序设计.
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
程設一.
類別的繼承-一般關係: 繼承是宣告的類別繼承現存類別的部份或全部的成員資料和方法 , 新增額外的成員資料和方法或覆寫和隱藏繼承類別的方法
Ch07 介面與多重繼承 物件導向程式設計(II).
JAVA程序设计 (03) JAVA Programming
第三章 控制结构.
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
物件導向程式設計 (Object-Oriented rogramming)
Java基础 JavaSE异常.
Classes Lecturer: 曾學文.
CHAPTER 9 建構方法 ROBERT.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
C#程序设计基础 $3 成员、变量和常量.
面向对象程序设计 、.
類別的繼承 Vehicle Car.
SPOTO TM JAVA课程 JAVA中的OO语法
第9讲 Java的继承与多态(一) 类的继承 子类的创建 方法覆盖.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
第11章 递归 张坤龙 天津大学计算机学院.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第二章 Java基本语法 讲师:复凡.
Java變數 2014/6/24.
C#程序设计基础 $3 成员、变量和常量.
C++复习2----类与对象.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
Java 程式設計 講師:FrankLin.
第三章 数据抽象.
Object-Oriented Programming in C++ 第二章 类和对象
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
Review 1~3.
第 9 章 建構函式與解構函式.
第二章 Java基本语法 讲师:复凡.
方法進階及物件導向基礎 Lecturer: 楊昌樺.
第二章 Java基本语法 讲师:复凡.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
方格紙上畫正方形.
JAVA 程式設計與資料結構 第三章 物件的設計.
05 方法. 05 方法 5.1 方法 在一個較大型的程式中,通常會將具有特定功能或經常重複使用的程式,撰寫成獨立的小單元,稱為「方法」(Method),並賦予方法一個名稱,當程式需要時就可以呼叫此方法來執行該段特定程式。(此種重複使用的程式小單元在其他語言中可能稱為程序、副程式或函式, Visual.
判斷(選擇性敘述) if if else else if 條件運算子.
第 2 章 初探 Java.
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
第6章 继承和多态 伍孝金
Summary
方法(Method) 函數.
Presentation transcript:

對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。

建立私有成員(private member) 宣告成員的時候如果在前面加上private字樣,其他人就無法直接從main()方法當中(也就是Car類別以外的地方)存取到類別內部的成員資料,具有這種特性的成員稱為私有成員(private member)。 class Car { private int num; private double gas; ... } 將field設定為私有成員的型態

建立公共成員(public member) method也算是一種成員(member),因此加了public的method也被稱為公共成員(public member)。加上public的method,表示著從類別以外的地方(例如從main()的內部)也可以加以存取。

關於「封裝」(capsule) Java的類別也提供封裝的功能。也就是說將類別內的私有成員隱藏起來,避免不必要的外在存取,僅提供必要的公共成員(public member)供他人呼叫使用,如此一來其他程式設計師即使不知道class內部的運作方式,也不會因為誤用class而產生錯誤的現象。

method的多載化(overloading)

關於建構元(constructor) 定義建構元的方式,和定義method的方法非常相似,而且請您務必記得:建構元的名稱一定要和類別名稱相同。另外,與method不同的是,建構元並不需要有任何傳回值。 修飾子 類別名稱(引數清單) { 程式敘述 ; … }

System.out.println("生產了汽車。"); } 關於建構元(constructor) public Car() { num = 0; gas = 0.0; System.out.println("生產了汽車。"); } 使用類別名稱做為建構元的名稱

建構元也有多載化的現象 建構元也有多載化的功能,也就是根據建構元的參數數目與資料型態呼叫相對的建構元,最大的好處是在很輕易的狀況下就完成物件初始值的設定工作。

為建構元加上modifier(修飾子) 建構元和method一樣,也是可以在前面加上public或private(public或prvate都是所謂的modifier)。目前為止我們使用的建構元都是加上public,如果改為private的話,接下來您甚至連產生物件都會有問題。

瞭解什麼是instance變數 與物件關係密切的field被稱為「instance變數」(instance variable)、與物件關係密切的method被稱為「instance method」。 只要是instance變數或instance method,就可以在物件產生之後,立刻透過物件呼叫instance變數或instance method,並傳值給它們。

class variable 和 class method 和類別有關的field被稱為類別變數(class variable) class 類別名稱 { static 資料型態 類別變數名稱; ... } 類別變數名稱前面要加上static

static 傳回值資料型態 method名稱(參 數、參數…) 類別變數(class variable)和class method class method 和類別有關的method被稱為class method。 static 傳回值資料型態 method名稱(參 數、參數…) 程式敘述; ... } static變成class method