重拾java基础(七):匿名对象总结

一、匿名对象

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数字
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值