一、匿名对象
1、匿名对象 是指不给对象起名字,
例如:一般对象为 类名(例如Phone)对象名(自己起)=new 类名();
则匿名对象为 new 类名();
2、匿名对象
每次使用都等于new了一个新对象 所以当只使用一个对象里的一个方法 时 可以使用匿名对象
3、匿名对象 好处在于传参;
class WeiXin //定义WeiXin类
{
private String wengben;
//属性省略
public void showSend(){
}
}
class Phone //定义Phone类
{
//属性省略
public void showCall(WeiXin w){
}
}
class TestPhone //测试类
{
public static void main(String[] ages){
Phone p=new Phone();
p.showCall(new WeiXin("45135135135"));
}
4、易犯错误;
在使用匿名对象时 调用私有属性时要用get函数;不能直接p.属性;
私有的函数不能直接调用出来;要放到其类中的公有函数中间接调用
二、类之间的方法调用
1、如果遇到自定义的两个类中需要调用彼此之间的函数;要注意在测试类中进行传参,
这样的话,可以可以避免属性等赋值后,在本对象再次使用时值可以修改。
2、类的考虑
a、找名词 //作为类名
b、找名词 //个人认为是针对类 给类找的修饰语 作为属性之用
c、动作 //动作是用来创建函数的
4、找主动方和被动方 // 主动方来调用被动方
3、易犯错误
一个类在寻找属性之后 可以没有动作 ,但是在调用其属性时一定要认清是否进行的私有
封装,如果封装不能用p.属性
三、static关键字
1、static 静态的意思 但是这里的静态不是静止的意思,是指在你static所在的当前
类在加载的时候就和类一起在方法区开辟空间了;所以类在他就在。此为静态
2、静态成员因为类在就存在了,所以不需要创建对象就可以调用了,
方法为 类名.静态属性名 类名.静态方法名();
3、静态成员可以直接调用静态成员;如果想调用其他成员的话,需要使用对象
也就是说对象可以调用一切成员。
4、其他成员在对象的创建后才会存在
5、先存在的不能调用后存在的,后存在的可以调用先存在的。
6、好处 方便 弊处 占内存 使用有限制
7、一般用在工具类中
8、易犯错误
静态对象可以被自己类中的所有对象共享 也就是说如果你new了一个对象 用了静态成员,
下次再new一个对象 这个静态成员的内容就不是空的;
例如:
四、代码块
1、代码块 即用{}包含起来的部分
a、构造代码块 { 执行代码 } 放在类中 类似与构造函数
b、静态代码块 static{ 执行代码 } 也放在类中 静态的类存在他就在
只调用一次 也就是说 静态就在那,再new一个对象
他也不再调用了
c、局部代码块 { 执行代码 } 放在方法中 调用方法他马上运行
2、运行顺序
静态代码块 > 构造代码块 > 构造函数 > 局部代码块
( 易 错 )
五、对象的创建过程
不过记得静态跟类一起在方法区加载空间;
六、Math类
数学方法 属于lang包 可查API表
但记得 一切属于lang包都可以直接 math.方法名
因为lang 自动加载
七、Scanner类
1、需要导入包 import java.util.Scanner
2、键盘录入
3、nextInt(),接收整数
nextDouble(),接收小数
next(),接收字符串
nextLine(),接收字符串
next() 接收时有效字符串前的所有 空格 、制表符都不记,他是从有效字段开始遇
到空格、制表符、回车就结束。
nextLine() 是接收文本的 从第一个任意字符开始 一旦遇到回车就结束
总结 一旦在nextLine() 前面有任意的键盘录入语句时都会在 栈 内留下一个
回车,nextLine()遇到直接结束
例如
Scanner sc=new Scanner(System.in);
System.out.print("请输入你的编号:");
int id=sc.nextInt();
System.out.print("请输入你的姓名:"); //虽然有输出语句但是此语句在方法区不影
响栈
String name=sc.nextLine(); //其会在栈内接收一个回车 就等于输入了 空(什么
都没有 直接进行下一语句)
System.out.println("你的编号是:"+id+",姓名是:"+name);
八、Random类
1. java.util包
2. 创建对象 Random.方法名
3. 功能方法
nextDouble(),得到一个大于等于 0.0 且小于 1.0的随机小数
nextInt(),得到一个随机生成的int数字
nextInt(int n),得到一个大于等于0且小于n的随机int数字