类 对象 封装性 this private 构造函数 package importjava
注意:属性必须修饰为为private
git
https://gitee.com/hellolv/java201621123078编程
面向过程编程是一种以过程为中心的编程思想,分析出解决问题的步骤,而后用函数把这些步骤一步一步实现。面向过程编程,数据和对数据的操做是分离的。数组
面向对象编程是将事物对象化,经过对象通讯来解决问题。面向对象编程,数据和对数据的操做是绑定在一块儿的。数据结构
做用:函数
构造函数能够是有参数的也能够是无参数,可是在构造函数的过程当中名称和类的名必需要一致,苟泽构造函数没有返回类型。工具
若是定义了一个有参的构造函数,为了保证正确性,系统不会建立无参构造函数。学习
String
类的源代码,找出3个看得懂的String类的构造函数,并使用本身的话描述这3个构造函数的区别。
图一:该String构造函数中,参数为char数组,使用java.utils包中的Arrays类复制数组
图二:该String构造函数是令value字符数组引用空字符串。
图三:该String构造函数直接令value字符数组引用original的value字符数组地址,并把其hash值拷贝过来。this
java.lang.Math
类的方法时,为何不须要new出一个Math对象,而后调用该对象上相应的方法?对于java.lang.Math
类都为静态变量与方法,并不须要new出一个Math对象,再调用该对象上相应的方法。code
会出现“The constructor Math() is not visible”的错误提示,由于java.lang.Math类的函数在使用时不须要重载。
在引用数据类型在定义实例时须要new实例对象,经过new能够调用含参的和不带参的函数,而对于基本数据类型不须要new能够直接定义,静态方法属于类自己,而非类的实例,因此能够用“类名.方法名”直接调用没必要建立相应对象就可使用。
同一个类中的2个或2个以上的方法能够一同一个名字,只是它们的参数声明不一样便可,在这种状况下,该方法就被称为重载,这个过程称为方法重载。
参考百度知道
public Student(){ private String name; private String age; public Student(){ } public Student(String name){ this.name = name; } public Student(String name,String age){ this.name = name; this.age = age; }
//上面三个函数都是Student类的构造函数。第一个是无参的,第二个有一个参数,第三个有两个参数。这就是构造函数的重载
java.lang.Math
类中举出1个方法重载的例子?经过查看jdk文档中有关于Math类的abs能够看出在Math()函数中abs的方法有不少并且不尽相同,参数不一样,调用的方法也不一样,因此组中输出的结果也是不一样的。
final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;
由于final修饰的时引用类型的变量,变量的值在运行过程当中不能不被修改,因此代码依然能够正常运行,此外,NUMBS存储的时数组的首地址。
功能:判断今天若是是周一到周五,返回true,返回false。main函数中调用该函数,若是为true则输出“工做日+姓名学号”,不然输出"休息+姓名学号"。
截图:关键代码。
提示:使用LocalDateTime, DayOfWeek类
顾名思义,封:封闭,装:装起来,将具体的实现细节装到一个容器中,并封闭起来,防止容器外部直接访问容器内部的实现细节,仅公开暴露指定的访问路径。正如长方形类Rectangle,其中width, length这些属性是私有的,圆形类Circle,属性radius是私有的。
好处:
可读性:
被封装后的对象的名称(如:程序集名,类名,方法名)若是命名恰当,那么就能在不看里面的实现细节的前提下,了解该对象的做用。
找一个水平相近的同窗完成1-2题实验题。开始编程前,可先对内容进行讨论。
写出体验报告,包括如下内容:1.对方姓名。2.所完成的题目。3.感想。4.照片(上次不少同窗并未贴照片,请贴上)
个人搭档是苏志颖同窗,咱们所完成的是PTA的上面的第四题,在编写代码的过程当中让我感觉到两我的一块儿编写效率可以获得很大的提升,在我编写过程当中,可以及时发现个人问题,并可以一块儿讨论,一块儿解决问题。
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 而后搜索并截图
须要有两张图(1. 排名图。2.PTA提交列表图)
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
1 | 0 | 0 | 0 | 0 |
2 | 280 | 280 | 5 | 5 |
3 | 530 | 250 | 9 | 4 |