标签:07 19 age Dog 构造 dog 刘禹彤 方法 public
打卡第10天
今天继续学习面向对象
###学习内容
1.this关键字
- this代表当前类的对象,this代表当前属性的调用者,谁调的方法他就代表谁
- this既然代表方法的调用者,它实际上和对象的作用是一样的,既可以调属性,也可以调方法
- this不能用在static中
- 开发中使用this来赋值
- 通常用于赋值,尤其是构造器赋值
- this调用构造器的要求:1.必须在构造器中使用this,调用构造器
2.必须是第一句话
2.构造器赋值
看创建对象是为了干什么:1.如果说仅仅是为了调用这个类的方法,建议使用无参构造器
2.如果创建对象需要用到对象的某个属性,可以使用构造器赋值
3.面向对象的特征,封装
1.代码层面;(1)属性私有化,所有的属性都要使用private封装
(2)提供一个set,get方法
getter方法能够按照客户期望返回格式化数据
setter方法可以限制和检验setter方法传入的参数是否合法
隐藏对象的内部结构
正确定义一个类:1.所有的属性私有化
2.每个属性都有对应的setter,getter方法
2.思想层面
4.空指针异常:
- 什么情况下会出现空指针异常?
引入数据类型的默认值(初始值是null,空引用)
- 3个异常:(1)数组下标越界
(2)内存溢出(错误)
(3)空指针
- 空指针异常NullPointException
5.构造器,一出生就有
方法,有条件才有
6.User类型的数组
- User类型的数中保存的就是一个一个的User对象
- 当从User类型的数组中取值的时候,比如说users0是一个User类型的对象
###学习心得
这两天学习的有点不太好理解,方法,构造器都不太会,还要反复看老师给出的实例和视频,向周围的同学提问,把知识点都理清
###例子:让一个人有一条狗
###掌握程度:一般
public class Ch01 { public static void main(String[] args) { //方法(1)构造器 // Dog dog = new Dog("灰色",-2); // dog.show(); //方法(2)set Dog dog = new Dog(); // dog.show(); dog.setAge(20); //方法(3) get int age = dog.getAge(); System.out.println(age); }
package b; public class Dog { private String color; private int age; //set方法,方法(2) public void setAge(int age) { this.age = age; } //get方法(方法3) public int getAge(){ return age; } //构造器(方法1) public Dog(){} public Dog(String color ,int age) { this.color = color; this.age = age; // if (age >= 0) { // this.age = age; // } else { // this.age = 0; // } } public void show() { System.out.println("颜色" + color + "年龄" + age + "的狗"); } }
标签:07,19,age,Dog,构造,dog,刘禹彤,方法,public 来源: https://www.cnblogs.com/lyt0612/p/16495239.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。