封装.this.static关键字 以及math类

封装;
概述:隐藏对象的属性和实现细节,仅对外提供一个公共的访问方式。
怎么隐藏?
private:是一个访问权限修饰符,表示私有的意思。他可以来修饰成员变量和成员方法。
 被它修饰的内容,在其他类中不能被直接访问。
公共的访问方式是什么?
set方法:赋值。
命名格式: set+成员变量名
举例: public void setName(String n){ name = n; }
  public void setAge(int a){ age = a; }
get方法:取值。
命名格式: get+成员变量名
举例:
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
注意:
private仅仅是封装的一种体现,咱们之前学过的类,函数都是封装的体现。
咱们写的功能代码(比如说:判断,求和,比较最大值),必须写在函数中。


构造方法:
特点:
1、方法名必须和类名一致(包括大小写)。
2、没有返回值类型。
3、没有具体的返回值。
作用:对对象进行初始化(创建对象的)。
注意事项:
1、如果我们没写构造方法,系统会默认提供一个无参构造。
2、如果我们写了构造方法,系统将不再提供默认的无参构造。
推荐:永远手动给出无参构造。
3、构造方法可以重载。
就是构造方法可以接受不同类型的参数。
4、一般我们定义类的时候,都会写上无参构造,
带参构造根据需求,可写可不写,写的话,一般是带全参。
给成员变量赋值的两种方式:
1、通过set方法。(推荐)
2、通过构造方法。
思考:
这两种赋值方式有什么区别?


this关键字:
概述:代表其所在方法所属对象的引用。
换言之:this代表本类对象的引用(记忆)。
大白话:那个对象调用方法了,在方法内部就有一个隐含的this代表这个对象。
应用场景:
1、用于解决局部变量隐藏成员变量值的问题。


编写一个狗(Dog)的标准代码,要求如下:
属性:姓名,年龄
功能:定义一个功能show,能够输出狗的年龄


代码块:
概述:由{}扩起来的内容。
分类:
局部代码块:
概述:方法内部。
作用;让变量尽可能早的从内存中消失,提高效率。
构造代码块:
概述:类中,方法外。
作用:把所有构造方法的同性内容提取出来,放在构造代码块中。
 因为先执行构造代码块,后执行构造方法。


static关键字:
概述:它是一个关键字,可以用来修饰成员变量和成员方法。
 被它修饰的成员,能被该类下所有的对象所共享(资源共享)。
 举例:
班级的钱包。
特点:
1、随着类的加载而加载。
2、优先于对象存在的。
3、资源共享。
如果某个内容是被该类下所有的对象所共享的,就可以使用静态修饰,
没有被静态修饰的内容,其实是属于对对象的特殊描述。
4、直接被 类名点 的方式调用。
注意事项:
1、静态方法中是没有this关键字。
2、静态方法只能访问静态成员变量和静态成员方法。
3、静态成员可以直接被类名调用,也可以被对象调用。
推荐使用:类名点的方式调用。


如果你只有.class文件,想使用里面的方法,怎么用?
1、查看提供的配套的说明文档。
2、反射(后边讲,现在知道就行了。)。.

制作帮助文档:
javadoc -d doc -author - version 源文件名.java
如何使用说明文档呢?
找到一个类后,如何使用?
1、看该类的结构。
就是看该类在那个包下,
如果是java.lang包下的类,是不需要导包的,可以直接使用。比如说:Math
否则,需要先导包,才能使用(Scanner)。
2、看类的说明。
就是该类能做什么。
3、看构造方法。
如果有构造,就创建对象使用。
如果没有构造,一般该类的成员都是静态的,可以通过类名来直接调用。
一般这种情况的类都是:工具类。
4、按照正常的操作来使用方法即可。
是否静态:如果是静态方法,可以被类名直接调用。否则,创建对象在使用。
返回值的类型:
如果是void,就直接调用。否则就可以进行输出调用或者赋值调用。
方法名:不要写错了。
形参列表:调用方法需要什么参数,我们就给什么参数。


Math类:
成员常量(理解):
Math.E
Math.PI
成员方法:
Math.abs() :绝对值。
Math.ceil():天花板数。 大于等于形参的最小整数。
Math.floor():地板数。  小于等于形参的最大整数。
Math.round():四舍五入。原理: +0.5,然后取地板数。
Math.random():随机数。生成一个0.0-1.0之间的随机数(包左不包右)
想要一个1-100之间的整数,怎么做?
(int)(Math.random()*100)+1
Math.max():求最大值的。
Math.min():去最小值的。
Math.max(Math.max(12,20),18) 求12,20,18三者之间的最大值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值