1.封装:隐藏对象的属性和实现细节,对外提供公共的访问方式。
由于外界可以通过 对象名.成员变量 直接访问数据,所以加上修饰符 private 这个访问权限
访问权限修饰符:private 是一个关键字,表示私有的意思。
用于:
修饰成员变量和成员方法(还可以修饰内部类)
被修饰成员的特点:不能被其他类直接访问。可以向外界提供公共的方法进行访问。get set 方法
private 仅仅是封装的一种体现。因为类,函数 等其实也是一个封装的体现。
3.类的组成:
成员变量:外在描述。
构造方法(构造器):对数据进行初始化。
方法名与类名一致。
没有返回值类型
没有返回值
作用:初始化对象来使用(还可以成员赋值)
成员方法:一些功能 权限修饰符:public private
注意:
A:如果没有给出任何的构造方法,系统将默认提供一个无参构造方法。
public Person(){}
B:一但显示的给出构造方法,系统将不提共构造方法(最好手动给出无参构造方法)
C:构造方法重载。
其实就是构造方法接收不同的参数。
给成员变量赋值:
A:通过set方法,推荐使用set方法
B:通过构造方法。
4.this
代表所在方法所属对象的引用。(当前运行类的对象的引用)
哪个对象谁调用的方法,在方法内部就有一个一隐含的this代表这个对象。
(即Student s = new Student()代表 s;使用无参构造创建对象,进行初始化。)
谁调用,this就代表谁。
应用:1.解决局部变量隐藏成员变量的问题
2.用于构造方法中。
5.代码块:
就是一对{} 括起来的代码
局部代码块:定义在方法中的代码块( 方法中的一对{} )叫局部代码块。
控制变量的声明周期(尽早消失,提高效率)
构造代码块:定义在方法外的代码块( 类中方法外一对{} )
将构造方法中的共性内容提取出来,减少代码的重复率。
执行特点:每次创建对象都执行,而且是优先于构造方法。
(静态代码块)
6.static 关键字:
特点:
1.随着类的加载而加载,优先于对象而存在。
2.被类所在的对象共享。
为什么要使用静态呢?
如果某个内容是被所有对象所共享,那么,该内容就应该用静态修饰。
没有被静态修饰的内容,其实是属于对象的特殊描述。(举例:饮水机和水杯)
3.可以使用类名直接调用。
修饰:可以修饰成员变量和成员方法(还可以是内部类)
类变量: 被static修饰的成员变量。
实例(对象)变量:没有static修饰的成员变量。
注意:
1.静态方法中没有this关键字,因为静态是随着累的加载而加载的,
而this是对象的创建才存在的。
2.静态方法只能访问静态成员变量和静态成员方法。
3.静态的内容可以通过对象调用,也可以通过类名调用。建议类名调用。
7.不同java文件中方法的调用
目前就把多个java放到一个文件夹中,然后编译带main的方法就可以了,其他的会自动的编译。(以后会学到导包)
8.帮助文档:
没有构造函数,说明下面方法是静态的(主要体现在工具类中),直接类名调用。
错误提醒:----- javadoc: 错误---找不到可以文档化的公共或受保护的类。
这个错误表示我们的类的访问权限不够。
所以,我们就直接在类前加 public
DOS运行生成文档命令:javadoc -d 存放路径 -author -version 类名.java
如何使用JDk提供的API,以Math为例。
步骤: 1:打开文档后
2:刊这个类的结构
java.lang
类 Math
java.util
类 Scanner
3.如果是java.long包下的类,是可以直接使用的。Math
否则,就需要导包才能使用。Scanner
4.看看这个类的说明。
5.看构造方法
没名称:字段----成员变量---属性。
a:有构造方法:就通过构造方法创建对象使用。
b:没有构造方法:那么,这个类的成员一般都是静态的。通过类名调用。
6.按照正常的操作使用方法。
左边:
是否静态;如果静态修饰,那么可以通过类名调用。否则,就必须创建对象调用。
是否有明确返回值;如果是void类型,就直接调用即可。否则。就可以输出或者赋值。
右边:
看方法名;不要写错了。
看参数;看参数类型及个数。
9.math类的功能
int abs(int i)绝对值
double ceil(double d)--向上取整(天花板)
double floor(double d)-- 向下取整(地板)
long round(double d)四舍五入
double random()返回[ 1.0---1.0)之间的一个随机数(java常用左闭又开)
int max(int i,int j) |
|