1.首先創建mainClass.java
package com;
import java.applet.Applet;
import com.jiekou;
import java.util.Vector;
//-- 水果基類
class fruit{
public String frut = "水果基類";
static void ssss(){
System.out.print("我是水果類");
}
}
//-- 蘋果類繼承水果基類,蘋果類內可包含1.成員函數 2.靜態函數 3.成員變量
//-- 蘋果類實現接口。並且實現接口函數。
class Apple extends fruit implements jiekou {
int price = 2;
void pt(){
System.out.print(frut + "\n");
}
static void ssss(){
System.out.print("我是水果類 !!! 繼承的被覆蓋\n");
}
void hanshu1(){
System.out.print( super.frut + "\n");
}
//-- 接口函數
public void jiekouhanshu(){
System.out.print("implements 接口函數");
}
}
class ApplerExt extends Applet{
}
//主類中包含:1.靜態方法 2.成員方法 3.main函數入口 4.成員變量
public class mainClass {
//-- switch
public static void switchcase(int key){
switch(key){
case 1:
System.out.print("11");
break;
case 2:
System.out.print("22");
}
}
//-- for
public static void forrr(){
for(int i = 0; i < 3; ++i){
nn();
System.out.print("for .." + i);
}
}
public static void nn(){
System.out.print("\n");
}
public static void dowhile(int n){
do{
n--;
nn();
System.out.print("至少執行一次");
}while(n > 0);
}
//-- 非靜態函數
public void feiStatic(){
nn();
System.out.print("不是靜態,必須需要對象調用");
nn();
System.out.print( "打印輸出主類中的成員變量 : " + this.cc[0]);
}
public static void printf(int arg0, String dd){
System.out.print(arg0);
System.out.print(dd);
}
int cc[] = new int[1]; //初始化都爲0
int a[] = {};
//int b[] = 5;
void init(){
//-- 靜態函數直接進行調用
switchcase(1);
forrr();
dowhile(6);
//-- 非靜態成員new出對象進行調用
mainClass Obj = new mainClass();
Obj.feiStatic();
//-- new本文件內包含的其它類
Apple a = new Apple();
//-- 調用類內的靜態方法,參數是apple類對象的成員變量
printf(a.price, "apple");
nn();
//-- apple類對象調用apple類的成員函數,這個函數是覆蓋apple基類的函數.基類是static 覆蓋的時候也是static
a.ssss();
//-- apple類對象調用apple類的成員函數
a.pt();
//-- 引用進來的類
ApplerExt aa = new ApplerExt();
System.out.print(aa);
nn();
//-- apple類對象調用apple類的接口函數,類implements了接口則必須要給予實現。
a.jiekouhanshu();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//-- 類內的靜態函數可以直接在類內進行調用,不需要new出對象調用
switchcase(1);
System.out.print("\n======================\n");
//-- 類內的成員函數,對象調用
mainClass obj = new mainClass();
obj.init();
//-- 內置數據類型Vector
System.out.print("\n======================\n");
Vector vScore = new Vector();
vScore.add("86");
vScore.add("76");
vScore.add(1, "66");
System.out.print(vScore);
vScore.remove(0);
System.out.print(vScore);
}
}
- 在創建接口文件 jiekou.java
package com;
public interface jiekou {
int num = 1;
void jiekouhanshu();
}
Java源程序中可以有多個定義的類,但必須有一個主類,這個主類是Java程序運行的入口點。
主類爲包含main方法的類:
在Java源程序中,主類的名字同文件名一致。
在Java中聲明一個類的方式主要有兩種,即class類名稱和public class 類名稱。
類是Java的基本存儲單元,Java中所有的操作都是由類組成的。
一般習慣把main方法放在public class聲明的類中,
public static void main(String[] args) 是程序的主方法,
即所有的程序都以此方法爲起點並運行下去。
!!! public class類名稱的“類名稱”必須與文件名相同。
在一個Java文件中可以有多個class類的定義,但只能有一個public class的定義
類聲明的基本格式:
訪問說明符 class 類名 extends 超類名 implements 接口名
如果訪問說明符爲public , 則類名必須和文件名保持一致。
類體:
成員變量: 訪問說明符 數據類型 變量名
方法: 訪問說明符 數據類型 方法名
類的單繼承性: 允許用extends關鍵字從一個類擴展出一個新類,新類繼承超
類的成員變量和方法,並可覆蓋該方法。
類中有兩個特殊變量super和this
super: 類聲明中用關鍵字extends擴展了其超類之後,super用在擴展類
中引用其超類中的成員變量。
this:
Package爲關鍵字,包名爲標識符。
1.Package語句要作爲程序非註釋語句的第一行語句
2.包內的類名唯一
3.引用包中的類時,使用import語句。import語句的基本格式爲import 包名.類名
接口:
Java禁止多繼承屬性,但可以通過接口來幫助類擴展方法.接口中可以定義大量的常量和方法,
但其中的方法只是一種聲明,沒有具體的實現,使用接口的類自己實現這些方法.
接口與類不同在於:
1.沒有變量的聲明,但可以定義常量.
2.只有方法的聲明,沒有方法的實現.
接口聲明的基本格式:
public interface 接口名 extends 接口列表
標識符,關鍵字,轉義符
運算符和表達式
2的a次方
8 >> a
運算符
流程控制: 順序 循環 選擇
數組聲明實際是創建一個引用,通過代表引用的這個名字來引用數組。
由於數組是對象,所以可以使用關鍵字new來創建一個數組。
new int[10]; //int[10]是一個類型。
數組創建時,每個元素都按它所存放數據類型的缺省值被初始化。