面向对象3(高级)

内部类:

        内部类就是定义在类里面的类。

        当一个类的内部,包含一个完整的事物,且这个事物没有必要单独设计时,就把这个事物设计成内部类。

                1.成员内部类:

                                把类定义在类的成员位置。

         创建对象的格式:

 

                         2.静态内部类:

                                        被static修饰的成员内部类。

                创建静态内部类对象

 

                         3.局部内部类:

                                        定义在方法中或者代码块中的类

 

                         4.匿名内部类:

             匿名内部类是一个没有名字的局部内部类。

            其本质是一个父类的子类对象,是一个接口的实现类对象。                                     

 

  •  一般不会主动创建匿名内部类
  • 当调用已有方法时,发现方法的参数是抽象类或接口类型时,为了简化代码书写而直接传递匿名内部类对象。

 

 

         一般使用匿名内部类的前提是要有一个接口,或者一个抽象父类。但是实际这个接口或抽象类很少让我们自己定义,更多的时候是API中准备好的。

                比如:ArrayList类有一个forEach方法。

 常用API:

                Object类:

                                该类是每个类的父类,所有对象(包括数组)都实现这个类的方法。

Object类的equals方法:判断当前对象是否与参数对象“相等”。

                如果子类没有重写equals方法,那么比较的是地址值。(String类底层已经重写了equals方法。)

                如果子类重写了equals方法,那么比较的是属性值。

                StringBuilder类:

        StringBuilder代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。

        好处:StringBuilder比String更适合做字符串的修改操作,效率会更高。

                                        构造方法:

                        1.StringBuilder sb=new StringBuilder();

                        2.StringBuilder sb=new StringBuilder(String s);

.append(任意类型):添加数据并返回StringBuilder对象本身。

.reverse():将对象的内容反转。

.toString():通过toString()就可以实现把StringBuilder转换为String。

                        基本类型包装类:           

基本类型包装类
基本数据类型引用数据类型
byteByte
shortShort

int

Integer
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

           Integer a=new Integer(10);

            Integer a=Integer.valueOf(10);        

字符串转其他的基本类型,调用包装类的parseXxx方法。
基本数据类型转字符串,可以使用String的valueOf方法。

 自动装箱:指的是把基本类型转换为包装类

        Integer a=10;等价于 Integer a=Integer.valueOf(10);

自动拆箱:指的是把包装类转换为基本数据类型

        int b=a;等价于int b=a.intvalue();

                         BigDecimal类:

double类型的小数参与运算时,会有精度损失。

BigDecimal类可以用于对小数进行精确运算,控制小数的位数。

                首先需要包装浮点数为BigDecimal对象。然后调用方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值