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]是一个类型。
数组创建时,每个元素都按它所存放数据类型的缺省值被初始化。