Java基礎示例3

1.首先創建接口文件product.java

package interdd;

//接口
public interface product{
	int ss = 1;
	void Chuchang();
}

2.創建自己實現的類文件 Manager.java

package ComPany;
//-- 引入interdd包中的product類
import interdd.product;

class Employee 
{
	public String name;
	public int salary;
	public String getSalary(){
		String str;
		str = "名字:" + name + "\nSalary" + salary; 
		return str;
	}

}

public class Manager extends Employee implements product
{
	public String departments; 
	public String getSalary(){
		String str;
		str = super.getSalary() + "\ndepartments: " + departments;
		return str;
	}
	
	public void Chuchang(){
		System.out.print("\n------\n我是實現的implements的接口函數");
	}
}

3.創建自己實現的類文件stringtest.java

package str;

import java.util.StringTokenizer;

//import ComPany.Manager;

public class stringtest {

	/**
	 * @param args
	 */
	public static void tst() {
		// TODO Auto-generated method stub
		String str = new String(" abcdefg ");
		System.out.print(str.length());
	}
	
	public static void strValueof(){
		System.out.print("+++++++++++++++++++++++\n");
		String str = new String("a");
		
		
		printf(String.valueOf(789));
		printf(String.valueOf(true));
		printf(String.valueOf('R'));
		printf(String.valueOf(789));
	
		
		String aa = "10";
		printf(Integer.parseInt(aa));
	}
	
	public static void printf(String str){
		System.out.print(str);
	}

	public static void printf(int str){
		System.out.print(str);
	}
	
	
	public static void testStringBuffer(){
		StringBuffer strOut = new StringBuffer("字符串");
		strOut.append("追加1");
		strOut.append("新的2");
		System.out.print("--------------------------\n");
		System.out.print(strOut);
		System.out.print("--------------------------\n");
		System.out.print(strOut.indexOf("新"));
		System.out.print("--------------------------\n");
		if(strOut.toString().equals("字符串追加1新的2")){
			System.out.print(strOut.indexOf("相等"));
			System.out.print("--------------------------\n");
			System.out.print(strOut.length());
		}
	}
	
	public static void testStringTokenizer(){
		System.out.print("--------------------------\n");
		String str = "數學:*:英語::語文::化學";
		StringTokenizer ta = new StringTokenizer(str, "*");
		System.out.println(str + "\n課程數爲:" +ta.countTokens());
	}

}

4.最後創建入口文件app.java

// 聲明包的語句 ,要作爲程序非註釋語句的第一行語句
package com;
import ComPany.Manager;
import java.util.Vector;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.Date;
import str.stringtest;

public class app {
	// Javac 和   Java都是JDK軟件包自帶的。
	// 從JDK安裝路徑的bin 目錄下可以看到 javac.exe
	//  Javac HelloWord.java 這是編譯程序,源程序編譯通過後就生成.class文件
	//  如果沒有進行環境配置,直接編譯或運行java源程序,系統會提示找不到這些命令
	
	
	// 計算機操作系統使用文件夾 或者目錄來存放相關或同類的文檔
	// 在Java編程語言中,提供了一個包的概念來組織相關的類。
	// 包在物理上就是一個文件夾,邏輯上代表一個分類的概念。
	
	// 包就是一組類, 
	// 包內的類名唯一
	// 引用包中的類時使用  import 包名.類名 
	// import 是 關鍵字,包名和類名之間用原點隔開
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		useHashtable();
		useDate();
		useMyDefineClass1();
		useMyDefineClass2();
		usedVectorAndHash();
	}
	//-- 使用哈希表對象
	public static void useHashtable(){
    	System.out.print("\n=============================\n使用哈希表對象\n");
        Hashtable hScor = new Hashtable();
        hScor.put("yiyiyi", "111");
        hScor.put("ererer", "222");
        hScor.put("sansan", "333");
        //-- 打印哈西表
        System.out.println("Hashtable:" + hScor.toString());
        //-- 遍歷哈希表
        for(Enumeration e = hScor.keys(); e.hasMoreElements();){
        	String str1 = (String) e.nextElement();
        	if(str1 == "ererer"){
            	System.out.println(hScor.get(str1));
        	}
        }

	}
	//-- 使用Date對象
	public static void useDate(){
	     System.out.print("\n=============================\n使用Date對象\n");
	        Date Olddate = new Date();
	        long lold = Olddate.getTime();
	        System.out.print("循環前的時間爲:" +  Olddate.toString() + "\n");
	        int sun = 0;
	        for(int i =0 ; i < 100; ++i){
	        	sun += i;
	        }
	        Date Newdate = new Date();
	        long ndate = Newdate.getTime();
	        System.out.print("循環後的時間爲:" +  Newdate + "\n");
	        System.out.print("時間間隔爲 "+  (ndate -lold) + "毫秒" + "\n");
	        System.out.print(sun);
	}
	//-- 使用外部引入的自己的類1
	public static void useMyDefineClass1(){
        System.out.print("\n=============================\n使用外部引入的自己的類1\n");
//      stringtest ssrr = new stringtest();
//      ssrr.tst();
//      ssrr.strValueof();  
//      ssrr.testStringBuffer();
//      ssrr.testStringTokenizer();
        
        //-- outerThe static method tst() from the type stringtest should be accessed in a static way
        //-- stringtest類型中的靜態方法tst()應該以靜態方式訪問    
        
        stringtest.tst();
	}
	//-- 使用外部引入的自己的類2
	public static void useMyDefineClass2(){
        System.out.print("\n=============================\n使用外部引入的自己的類2\n");
		Manager mObj = new Manager();
		mObj.name = "管理員";
		mObj.departments = "人力資源";
		
		String str = mObj.getSalary();
		printf(str);
		mObj.Chuchang();
	}
	//-- 使用Vector對象
	public static void usedVectorAndHash(){
		System.out.print("\n=============================\n使用Vector對象\n");
		Vector s = new Vector();
		s.add("888");
		s.add("999");
		s.set(0, "111");
		s.add(1, "222");
		s.add(1, "333");
		System.out.print(s);
		System.out.print("\n------------------------------\n循環數組\n");
		
        for (Enumeration e = s.elements() ; e.hasMoreElements() ;){
        	System.out.println(e.nextElement());
        }
        
		System.out.print("\n------------------------------\n對比hash\n");
		Hashtable objHash = new Hashtable();
		objHash.put("張一", "s86");
		objHash.put("王2", "s87");
		objHash.put("孫三", "s88");
		System.out.print(objHash);
		objHash.remove("王2");
		System.out.print(objHash);
	}
	//-- 類內的靜態函數,可以直接被調用
	public static void printf(String str){
		System.out.print(str);
	}
	
	// Java編程中禁止多繼承屬性, 但可以通過接口來幫助類擴展方法
	// 接口中可以定義大量的常量和方法
	// 方法是聲明  在接口類中必須被實現,
	// 常量
	

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章