美文网首页
JavaSE进阶(多态,内部类,常用API)

JavaSE进阶(多态,内部类,常用API)

作者: 扶光_ | 来源:发表于2023-08-07 14:42 被阅读0次

多态

子类可以重写父类的方法,那么我们可以定义很多同类型的对象
同类型的对象,执行同一个行为,会表现出不同的行为特征叫多态


常见形式

父类名称 对象名 = new 子类构造器
接口 对象名 = new 实现类构造器
  • 方法调用 编译看左边,运行看右边
  • 变量调用 编译看左,运行也看左
    多态的前提:有继承,父类引用子类对象,有方法重写

多态的优势

在多态形势下,右边对象可以实现解耦合,便于扩展和维护
Animal a = new Cat(); //直接改对象就行
a.run();//后续业务行为随对象而变,后续代码无需更改

缺点:
多态下不能使用子类独有功能

如何解决
可以使用强制类型转换 从父到子
子类 对象变量 = (子类) 父类类型变量

内部类

内部类就是定义在一个类里面的类,里面的类是寄生,外面的类是宿主

public class People{
    public class Heart{
      }
    }

使用场景及作用

  • 当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整结构又只为外部事物提供服务,那么内部就可以使用内部类
  • 内部类可以方便访问外部类的成员,包括私有成员
  • 内部类提供了更好的封装性,内部类本事就可以用protected,private修饰

静态内部类

有static修饰 ,属于外部类对象

成员内部类

无static修饰,属于外部类对象

创建对象格式 外部类.内部类 对象名 = new 外部构造器().new内部构造器();

匿名内部类

本质上是一个没有名字的局部内部类,定义在方法中,代码块中
作用:方便创建子类对象,最终简化代码简写
格式

new 类|抽象类|接口名(){
方法重写
  }

api

toString()

返回堆内存中的地址(默认可以省略toString)
实际开发中,输出地址是没有意义的
存在的意义 父类toString()方法存在的意义就是为了被子类重写,以便返回对象的内容信息,而不是地址信息

equals()

默认是比较两个对象的地址是否相同 ==也可以替代equals

  • 父类equals存在的意义是为了被子类重写,以便子类自己定制规则

StringBuilder

是一个可变的字符串类,对象容器
提高字符串的操作效率,如拼接,修改
拼接之后要恢复成String类型

StringBuilder sb = new StringBuilder ();
sb.append('a');
sb.append('42');
sout(a);//a42

String rs = sb.toString();

Math

基本数字运算方法,没有提供公开构造器

  • 向上取整
    Math.ceil(4.0001); //5.0
  • 向下取整
    Math.floor(4.99999) //4.0
  • 四舍五入
    Math.round(4.65)// 5

System类

exit(int status) 终止当前运行的java虚拟机 0就是终止

System.currentTimmeMillis()计算机认为时间有起始值,返回1970-1-1 00.00.00到此刻的毫秒值

BigDecimal

用于解决浮点型精度失真的问题
比如0.1+0.2不等于0.3

BigDecimal a = BigDecimal.valueOf(0.1);
BigDecimal b = BigDecimal.valueOf(0.2);
BigDecimal c = a.add(b);
sout(c); //0.3

add 加法
subtract减法
multiply乘法
divide 除法

double rs = c。doubleVaule();、、变成double类型

相关文章

  • JavaSE-常用API

    目录 [TOC] 第一章:API概述 什么是API? ​ API,应用程序编程接口。Java API是一本程序...

  • javaSE中常用的API

    要勤查API,知道有哪些方法,能完成什么功能.多读源代码,身体好.

  • JavaSE常用API之Object

    Object类 所有类最终继承于Object,Object类也提供给我们很多便捷的方法,但是当我们的业务需求,Ob...

  • JavaSE常用API之RandomAccessFile

    RandomAccessFile是Java中输入/输出流体系中功能最丰富的文件内容访问类,它提供很多方法来操作文件...

  • JavaSE常用API之File

    java可以对文件进行操作,包括但不限于创建、删除、读取文件内容,写入文件内容等操作,非常的强大! java.io...

  • 自学Java最起码要学到什么程度才能就业?

    初级Java开发工作需要掌握的技术内容如下: JavaSE:基础语法、面向对象、数组、集合、常用API、IO流、反...

  • 自学Java最起码要学到什么程度?

    初级Java开发工作需要掌握的技术内容如下: JavaSE:基础语法、面向对象、数组、集合、常用API、IO流、反...

  • JavaSE之多态

    转型:向上转型(上溯造型)、向下转型(下溯造型) 向上转型:父类引用指向子类对象。 父类的引用 = 子类的对象(也...

  • JavaSE常用API之String相关

    0x01 java.lang.String String是不可变的,且在创建String的时候,JVM会在常量池中...

  • JavaSE进阶-04-常用类

    String 关于Java JDK中内置的一个类:java.lang.String1.String表示字符串类型,...

网友评论

      本文标题:JavaSE进阶(多态,内部类,常用API)

      本文链接:https://www.haomeiwen.com/subject/lxsspdtx.html