java基础day12---this 关键字-----参数传递
day12---今天去面试了,更的少
虽然工资低点,还是毕业的第一份工作,还是挺激动的。
毕竟最近面了好多家公司了,也累了,应届生不能眼高手低,知道自己几斤几两;但我会慢慢的汲取知识,
会强大起来!!!!!!
1.this关键字访问本类中的实例变量
---this表示当前这个对象,也就是说当前谁调用这个方法,
则这个对象是谁
---this关键字可以访问本类中的属性
当局部变量和成员变量没有同名时,则编写属性名等价于this.属性名
如:id 等价于this.id
当局部变量和成员变量同名时,并且访问成员变量则必须使用this.
---this关键字可以访问本类中的实例方法
方法名称([参数列表]);等价于 this.方法名称([参数列表])
---this关键字访问本类中的其他构造方法
this();//访问本类无参构造方法;
this([实参列表]);
注意:当使用this访问本类构造方法时
则只能编写在构造方法中,并且是第一条语句
class Car{ //无参构造 public Car(){ } //带参构造方法,完成对id和price赋值 public Car(String id,int price){ this.id=id; this.price=price; } //编写对所有属性赋值的构造方法 /*public Car(String id,String color,int price){ this.id=id; this.color=color; this.price=price; } */ //编写第二种带参数赋值的构造方法 public Car(String id,String color,int price){ //将局部变量id和price的值,给带两个参数的构造方法赋值 this.(id,price); this.color=color; //this(id,color,price);//构造方法不能出现递归调用,自己调用自己,死循环 } //属性 String id; String color; int price; //方法 public void print(){ //this();//出现编译错误,必须是构造方法中的第一条语句 //在本类的方法中,可以直接访问本类中的成员变量(属性) //System.out.println("车牌号:"+id+"\n颜色:"+color+"\n价格:"+price); //上一条语句,可以编写如下: System.out.println("车牌号:"+this.id+"\n颜色:"+this.color+"\n价格:"+this.price); } } class CarTest{ public static void main(String[] args){ //实例化车 Car c=new Car(); c.print(); System.out.println(this.id);//出现编译错误,因为this.只能在本类(当前类)中使用 Car car=new Car(); car.print();//则print方法中的this.id对象为car,不再是c //创建对象同时执行带两个参数的构造方法 Car c4=new Car("京8888",6666666); c4.print(); } }
2.参数传递
---基本数据类型作为参数传递
---引用数据类型作为参数传递
3..基本数据类型作为参数传递
--总结:当基本数据类型作为参数传递时传递的是真正的值,当一个方法中的值发生改变,
对另一个方法中的值没有任何发生改变,因为两个方法中的变量各自是独立的;
class Method01{ public static void change(int x,int y){ x+=5; y+=10; System.out.println("x="+x); //x=15 System.out.println("y="+y); //y=30 } public static void main(String[] args){ int x=10,y=20; System.out.println("x="+x); //x:10 System.out.println("y="+y); //y:20 change(x,y); System.out.println("x="+x); //x的值10 System.out.println("y="+y); //y的值20 } }
分类:
java基础学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?