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編程中禁止多繼承屬性, 但可以通過接口來幫助類擴展方法
// 接口中可以定義大量的常量和方法
// 方法是聲明 在接口類中必須被實現,
// 常量
}