从c++到Java,关于Java面向对象基础的学习(二)
【摘要】 一、构造器 构造器的作用 用于初始化一个类的对象,并返回对象的地址Car c = new Car();构造器的定义格式 修饰符 类名(形参列表){ ... } public class Car { ... // 无参数构造器 public Car(){ ... } // 有参数构造器 public Car(String n, String b){ ... } } 初始化对象的格式...
一、构造器
构造器的作用
用于初始化一个类的对象,并返回对象的地址
Car c = new Car();
构造器的定义格式
修饰符 类名(形参列表){
...}
public class Car {
...// 无参数构造器public Car(){...}// 有参数构造器public Car(String n, String b){...}}
初始化对象的格式
类型 变量名称 = new 构造器;
Car c = new Car();
构造器的分类
类型 变量名称 = new 构造器;
(1)无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。
(2)有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
注意事项
任何类定义出来,默认就自带了无参数构造器,写不写都有。
一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。
具体案例
调用无参数构造器
调用有参数构造器
二、this关键字
this关键字是什么
代表当前对象的地址
上图中this表示与 c 的地址一样,都指向new Car(), 如果调用了c.run(),那么run里面的c也指向new Car()
this关键字
作用:出现在成员方法、构造器中代表当前对象的地址,用于访问当前对象的成员变量、成员方法
在写代码的时候如果用以下的代码去写往往是被诟病的,因为n,和p没有实际意义,
如果用了this关键字就可以正确的表示,表示为上面第一个String name里面的name赋值和double price 里面的price赋值
样例
this在成员方法中的用法
错误的表示
public class Car {String name;double price;public void goWith(String name){System.out.println(name + "正在和" + name + "一起比赛!!");}}
正确的表示
public class Car {String name;double price;public void goWith(String name){System.out.println(this.name + "正在和" + name + "一起比赛!!");}}
例子
三、封装
面向对象的三大特征:封装,继承,多态。
什么是封装? 隐藏实现细节,暴露出合适的访问方式。(合理隐藏、合理暴露0)
封装的原则:对象代表什么,就得到对应的数据并提供数据对应的行为
封装的实现步骤
一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。
提供public修饰的公开的getter、setter方法暴露其取值和赋值。
在赋值给一个学生年龄的例子中非常容易出现,入过学生的年龄错误了,为负数,仍然会继续输入,那么该如何修改呢,这是就需要封装,通过一定暴露和封装完成
Javabean综合案例(猫眼电影系统)
测试案例 对象
类
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)