Java 继承、多态、ArrayList、枚举
admin
2024-01-17 18:29:55
0

继承

Java中只有公共继承,没有私有继承和保护继承

多态

C++中如果希望实现动态绑定,需要将成员函数声明为virtual,而在Java中,动态绑定是默认的行为。

若不希望一个方法是虚拟的,可以将其标记为final

强制类型转换

  • 只能在继承层次内进行强制类型转换
  • 在将超类强制转换位子类之前,应该使用instanceof进行检查

尽量少用强制类型转换,如果转换失败会抛出ClassCastException异常,而没有捕获ClassCastException异常的话,会使程序终止

重写equals方法的建议

  1. 参数命名为otherObject。
  2. 检测this和otherObject是否相等(只是优化)
if(this == otherObject) return true;
  1. 检测otherObject是否为null
if(otherObject == null) return false;
  1. 比较this与otherObject的类

    1. 若equals语义在子类中改变,则使用getClass检测。
    if(getClass() != otherObject.getClass()) return false;
    
    1. 若在所有子类中equals语义相同,则使用instanceof检测。
    if(!(otherObject instanceof ClassName)) return false;
    
  2. 将otherObject强制转化为相应类类型的变量

ClassName other = (ClassName) otherObject;
  1. 根据相等性概念要求来比较
return field1 == other.field1 && field2 == other.field2 && ......;

String getName() 可以返回这个类的名字

Class getSuperclass() 可以返回这个类的超类

Class.forName(className) 获取类名对应的Class对象

ArrayList

import java.util.ArrayList;public class C531 {public static void main(String[] args) {// 设置数组初始容量// 创建ArrayList时,若能估计出数组可能存储的元素数量,就可以在填充数组之前调用ensureCapacity方法// 或者将初始容量直接传入构造器。这样前100次调用不会因为数组扩容带来额外的时空开销。ArrayList arrayList1 = new ArrayList<>();arrayList1.ensureCapacity(100);ArrayList arrayList2 = new ArrayList<>(100);// 添加元素arrayList1.add("hi");arrayList1.add(1, "study?"); // 将元素插入到指定位置,并后移其他元素System.out.println(arrayList1);// 访问元素System.out.println(arrayList1.get(0));// 修改元素System.out.println(arrayList1.set(0, "hi what hi")); // 会返回之前的元素内容arrayList1.set(1, "study!");System.out.println(arrayList1);// 删除元素arrayList1.remove(0);// 将后面的元素前移}
}

枚举

static Enum valueOf (Class enumClass, String name) 返回给定类中有指定名字的枚举常量

String toString() 返回枚举常量名

int ordinal() 返回枚举常量在enum声明中的位置,位置从0开始计数

int compareTo(E other) 枚举常量出现在other之前便返回负数,相等则返回0,否则返回整数。

public enum C56 {SMALL("s"), MEDIUM("M"), LARGE("L");private String size;// 构造函数必须为privateprivate C56(String s) {this.size = s;}public String getSize() {return size;}
}

相关内容

热门资讯

安卓变苹果永久系统教程,轻松实... 你是不是也和我一样,对安卓系统已经厌倦了,想要尝试一下苹果的永久系统呢?别急,今天我就来给你详细介绍...
安卓系统拿什么赚钱,揭秘拿什么... 你有没有想过,安卓系统这个无处不在的小家伙,是怎么在江湖上混得风生水起,赚得盆满钵满的呢?别急,今天...
电视的安卓系统升级,电视体验焕... 你有没有发现,家里的电视最近变得聪明多了?没错,就是那个曾经只能看看节目的大家伙,现在竟然也能升级系...
安卓系统源代码购买,基于安卓系... 你有没有想过,安卓系统的源代码竟然可以购买?没错,你没听错!在这个科技飞速发展的时代,连系统的源代码...
安卓手机大都什么系统,基于安卓... 你有没有发现,现在大街上几乎人手一部安卓手机呢?那么,这些安卓手机大都使用什么系统呢?今天,就让我带...
安卓系统如何调用dll,And... 你有没有想过,安卓系统里那些神奇的软件是怎么运作的呢?今天,就让我带你一探究竟,揭开安卓系统调用DL...
安卓系统主要盈利模式,多元化商... 你有没有想过,那个陪伴你每天刷手机、玩游戏、看视频的安卓系统,它是怎么赚钱的呢?别看它免费,其实背后...
安卓开发主板装系统,轻松打造个... 你有没有想过,一台安卓开发主板装上系统后,它能变成什么样子?想象一个原本冷冰冰的硬件,瞬间变得生动起...
线描系统主题教程安卓,安卓平台... 你有没有想过,用手机就能轻松画出精美的线描画?现在,就让我带你走进一个神奇的世界——线描系统主题教程...
安卓条码扫描管理系统,高效便捷... 你有没有想过,在繁忙的超市里,那些快速扫描商品条码的机器是怎么工作的呢?今天,就让我带你一探究竟,揭...
怎么降级vivo手机安卓系统,... 你有没有发现,你的vivo手机最近有点卡呢?别急,别急,今天就来教你怎么降级安卓系统,让你的手机焕发...
安卓系统文件夹system,s... 你有没有发现,你的安卓手机里有一个神秘的文件夹叫做“system”?它就像是一个隐藏的宝藏,里面装满...
安卓怎么会攻击系统,系统漏洞与... 你有没有想过,安卓这个我们日常生活中离不开的小家伙,竟然也会偷偷地攻击我们的系统呢?是不是觉得有点不...
可以升级安卓的系统,畅享智能生... 你知道吗?现在这个时代,手机更新换代的速度简直就像坐上了火箭!不少安卓用户都在想,我的手机怎么也该升...
安卓系统不收费太傻了,智能生活... 你知道吗?最近在互联网上掀起了一阵热议,那就是安卓系统不收费这件事。很多人都在说,这简直太傻了!为什...
明锐安卓车机升级系统,智能驾驶... 你有没有发现,现在的汽车越来越智能了?这不,我最近就体验了一把明锐安卓车机升级系统,简直让我眼前一亮...
小米3怎样升级系统安卓,轻松迈... 你手里的小米3是不是已经有点儿“老态龙钟”了?别急,今天就来给你支个招,让你的小米3焕发第二春,升级...
安卓系统怎么转换成ios系统,... 你是不是也和我一样,对安卓系统和iOS系统有着浓厚的兴趣呢?有时候,看着别人手中的iPhone,心里...
炫舞怎么转安卓系统,轻松体验手... 你有没有发现,炫舞这款游戏在安卓系统上玩起来简直不要太爽!但是,有时候系统更新或者兼容性问题会让你头...
苹果装双系统安卓失败,揭秘故障... 最近我在网上看到一个话题,真是让人哭笑不得——有人尝试在苹果手机上装双系统,结果安卓系统失败了。这事...