小编自行整理,直接上干货
(出现问题还请指点)
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~ }