小编自行整理,直接上干货
(出现问题还请指点)
package Demo1.test2_HR;
/**
* Create Time: 2021年10月4日 18:04 endTime: 20:28
* @author HongRui
**/
public class test {
public static final String tiger = " ready "; //声明一个公共静态成员常量
static int tiger3 ; //input 成员变量(当没有定义静态时是不可以静态方法使用的 #可以试试(因为当类加载时没有给他空间))
public static void main(String[] args) { //主方法(must exist)
//**************invoke method******************************
A.anc(); //exploit 类名进行调用
//**************invoke method******************************
A acc = new A(); //exploit 对象进行调用(在创建对象时会给定义的变量赋予空间(在不使用对象时,创建的对象会被回收))
acc.anc(); //invoke A类中的静态方法
acc.an(); //invoke A类中的实例方法(在调用A类中的其他静态方法)
//**************invoke method******************************
// zncc(); //invoke 本类中的实例方法(must 是静态方法才能被 invoke)
test znw =new test(); // 在本类中利用对象进行调用类中的实例方法
znw.zncc();
//### ( 演示引用赋值 )
zncccc();
//### ( 演示值传递 )
spread();
//### ( 演示引用传递 )
spread1();
//**************************************************
//### ( 演示传递参数为数组的方法 )
int arr[] ={1,2,3,4,5};//貌似只能在主函数中实现(意思:在原基础上每位数+10;)(我写的有些绕)
int sum = 0,sum1 =0;
for (int w:arr)
{sum +=w;
System.out.println("arr["+w+"]"+sum);}
AddN(arr,10); //利用方法,对其原数组没位数加10
for(int W:arr)
{sum1 +=W;
sum +=W;
System.out.println("arr["+W+"]"+sum);}
}
//**************invoke method******************************
public void zncc(){ //在本类中的方法
System.out.println("在本类中的方法");
String tiger1 ="few"; //define一个非成员变量
System.out.println(tiger3);//output
System.out.println(" tiger : "+tiger+" tiger1 : "+tiger1);
}
//********************************************
//### ( 演示引用赋值 )
public static void zncccc(){
System.out.println("( 演示引用赋值 )");
A output1 = new A(); //exploit 对象进行调用
A output2 = new A(6, 18);//(形参)
output1.znXY(); //invoke A类中的实例方法
output2.znXY(); //invoke A类中的实例方法
output1 = output2; //二中的值赋给一
output1.znXY(); //invoke A类中的实例方法
output2.znXY(); //invoke A类中的实例方法
}
//********************************************
//### ( 演示值传递 )
public static void spread(){
System.out.println("( 演示值传递 )");
int a,aa;
A output3 = new A(); //定义一个对象进行调用
a = 10; //statement a start
aa = output3.square(a); //传递参数给square方法,结果在返回出来(实参)
System.out.println(" a="+a+"...aa="+aa);
}
//**************************************************
//### ( 演示引用传递 )
public static void spread1(){
System.out.println("( 演示引用传递 )");
A Pp =new A();
Pp.setXY(10,20);
System.out.println("x1 = "+Pp.x1+"y1 = "+Pp.y1);
Pp.squareA(Pp); //引用Pp中的值,对其地址中的值进行重定义
System.out.println("x1 = "+Pp.x1+"y1 = "+Pp.y1);
}
//**************************************************
//### ( 演示传递参数为数组的方法 )
public static void AddN(int b[],int N){
for(int d = 0;d<b.length;d++)
b[d] = b[d]+N;
}
}
//************(define A type)*************************
class A{ //define一个 A类
//************invoke method********************************
public void an(){ //本类中的一个实例方法(实例能调用 1实例或2静态)
System.out.println(" invoke method1 ");
anc(); //invoke一个静态方法
}
public static void anc(){ //本类中的一个静态方法(静态只能调用静态)
System.out.println(" invoke method2 ");
}
//**************************************************
//### ( 演示引用赋值 )
int x,y;
A(){
x = 10;y = 20;
}
A(int x ,int y){ //重载
this.x = x;this.y =y;
}
public void znXY(){ //本类中的一个实例方法(实例能调用 1实例或2静态)
System.out.println(" 点(x,y)为 "+"("+x+","+y+")");
}
//**************************************************
//### ( 演示值传递 )
int square(int z){ //define一个整形实例方法
z =z*z;
return z; //返回值
}
//**************************************************
//### ( 演示引用传递 )
int x1,y1;
public void setXY(int x2,int y2 ){ //建立一个方法,对类成员进行赋值(形参)
x1 = x2;y1 = y2;
}
public void squareA(A P) { //建立一个方法,利用P对象对A类中的成员进行修改
P.x1 =P.x1*P.x1;
P.y1 =P.y1*P.y1;
}
//**************************************************
//### ( 演示传递参数为数组的方法 )见其上
//### return返回值法(理解)
//**************************************************
/*### ( 三个重要方法 )/*
构造方法
main()方法
finalize()方法 */
//finalize()作用:当垃圾收集器清除无用对象时,弹出窗口,显示要关闭的对象的序号
//book P72~
}