2016年2月5日 星期五

Java Constructor 建構子方法的使用

前言:
本文相關用詞
類別物件 (class)
方法 (method)
參數 (parameter)
回傳值 (return value)

一、什麼是 Constructor
Constructor 稱為: 建構子、建構子方法、建構方法

簡說明:類別物件建立構造的方法
圖1

程式例:
public class TestDemo {
 public TestDemo() {//Constructor
  //這是基本Constructor
 }
}

你是否要在創建時,做一下些事情。
如果沒有也可以不寫Constructor。
例如: 當你沒寫Constructor,也是可以創建類別物件成功。
public class TestDemo {
}


註:
當你沒有一個Constructor,才會自動產生基本Constructor。


二、何時會用到呢?
當你建立類別物件的時後就會用到了。
圖2

以下程式 new TestDemo();
public static void main(String[] args) {
  TestDemo testDemo = new TestDemo();
}

就在new TestDemo();
的TestDemo()這個關鍵方法。
就是初時建立物件叫用TestDemo()的Constructor 。



三、可以很多個Constructor 嗎?
可以。但要不同的參數。

例如
package test;

public class TestConstructorDemo {
 int age;
 String name;
 private TestConstructorDemo() {//Constructor
  System.out.println("創建TestConstructorDemo");
 }

 public TestConstructorDemo(int age) {//Constructor
  this.age = age;
  System.out.println("創建TestConstructorDemo,初值建立 ,age : "+ age);
 }
 
 public TestConstructorDemo(String name) {//Constructor
  this.name = name;
  System.out.println("創建TestConstructorDemo,初值建立 ,name : "+ name);
 }
 
 public TestConstructorDemo(int age,String name) {//Constructor
  this.age = age;
  this.name = name;
  System.out.println("創建TestConstructorDemo,初值建立, age : "+ age+", name : "+ name);
 }
 
 public void msg(){
  System.out.println("age : " + age + ", name : " + name);
 }

 public static void main(String[] args) {
  System.out.println("創建物件測試1 開始:");
  TestConstructorDemo testDemo1 = new TestConstructorDemo();
  testDemo1.msg();
  System.out.println("創建物件測試1 結束----------------");
  
  System.out.println("創建物件測試2 開始:");
  TestConstructorDemo testDemo2 = new TestConstructorDemo(25);
  testDemo2.msg();
  System.out.println("創建物件測試2 結束----------------");
  
  System.out.println("創建物件測試3 開始:");
  TestConstructorDemo testDemo3 = new TestConstructorDemo("levin");
  testDemo3.msg();
  System.out.println("創建物件測試3 結束----------------");
  
  System.out.println("創建物件測試4 開始:");
  TestConstructorDemo testDemo4 = new TestConstructorDemo(25,"levin");
  testDemo4.msg();
  System.out.println("創建物件測試4 結束----------------");
  
 }
}


測試結果:
圖3



相關同類參考:


Java 快速導覽 - 物件導向概念 建構子



Java Gossip: 建構方法(Constructor)



下一篇:
Java this方法的使用









































其它文章

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...