Java–方法回顾
package com.zy.oop;
import java.util.Arrays;
/**
*description: Java--面向对象
* object oriented programing OOP
* 以类的方式组织代码,以对象的组织(封装)数据
* 三大特性:封装,继承,多态
* 对象是具体的事务,类是对对象的抽象,类是对象的模板
*@program: 基础语法
*@author: zy
*@create: 2023-02-17 21:43
*/
public class JavaOOP {
public static void main(String[] args) {
//方法回顾之值传递与引用传递
int a = 1;
System.out.println(a);// 1
change(a);
System.out.println(a);// 1
// 引用传递:对象,本质上还是值传递,对象未变,对象内的成员属性可变化
Student student = new Student();
System.out.println(student+"=="+student.age+"=="+student.name);// com.zy.oop.Student@3a4afd8d==16==zhangsan
change2(student);
System.out.println(student+"=="+student.age+"=="+student.name);// com.zy.oop.Student@3a4afd8d==18==lisi
change3(student);
System.out.println(student+"=="+student.age+"=="+student.name);// com.zy.oop.Student@3a4afd8d==18==lisi
}
/**
* @Description 值传递不改变其本身
* @author zy
* [a]
* void
* @date 2023-2-17 22:11
*/
public static void change(int a){
a = 10;
}
/**
* @Description 引用传递:对象-->指向调用方,本质上还是值传递,对象未变,对象内的成员属性可变化
* @author zy
* [student]
* void
* @date 2023-2-17 22:26
*/
public static void change2(Student student){
student.name="lisi";
student.age="18";
}
/**
* @Description 引用传递:对象重新new-->指向改变后,若改变对象本身后,对象内的属性将不再受调用方中的对象影响
* @author zy
* [student]
* void
* @date 2023-2-17 22:26
*/
public static void change3(Student student){
student = new Student();
student.name="wangwu";
student.age="20";
}
}
class Student{
String age = "16";
String name = "zhangsan";
}