zoukankan      html  css  js  c++  java
  • 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    标题图

    前言

    Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较。

    回顾

    类            .png

    类的定义格式:

    [类的修饰符] class 类的名称 [extends 父类名称][implements 接口名称列表] {  
           变量的定义以及变量的初始化;
           方法的定义以及方法体;
    }

    类的修饰符:publicabstractfinal等。

    • private
    • protected
    • public
    • default(缺省)

    继承

    继承是java中的特性,继承可以实现代码的复用性,继承的类为子类,被继承的类为父类,java中不支持多重继承,但可以通过接口实现。

    class DemoClass extends SuperClass{
     …
    }

    类的多态性

    多态的体现:覆盖与重载

    多态

    多态是为了提高功能的扩展性,提高复用,为父类的引用指向了子类的对象,多态,多种形态的体现。

    父类引用指向子类对象,并调用子类的覆盖方法,就是多态,注意父类的引用不能随便强加转为子类类型,因为强转可能会出错,在转换前先使用instanceof判断父类是否可以转换为子类

    abstract class Animal{
     public abstract void eat();
    }

    多态原理:

    Dog d = new  Dog();
    Animal a = new Dog();
    Cat c = new Catt();
    Animal aa = new Cat();

    向上转型和向下转型

    Cat c = new Catt();
    Animal aa = new Cat();

    Animal a = new Animal();
    Cat c = (Cat) a;

    向上转型为了提高程序的扩展性,向下转型之前要进行类型的判断,否则容易发生classCastException异常,判断类型的关键字为instanceof

    if(a instanceof Cat){
     Cat c = (Cat)a;
     c.catchMouse();
    }else if(a instanceof Dog){
     Dog d = (Dog)a;
     d.lookHome();
    }

    Object

    Object是类层次结构的根类,存在java.lang.Object中。

    方法 说明
    clone() 创建并返回此对象的一个副本
    equals() 指某个对象是否与此对象“相等”
    finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法
    getClass() 返回对象运行时类
    hashCode 返回该对象的哈希码值
    notify() 唤醒在此对象等待的单个线程
    notifyAll() 唤醒所有线程
    toString() 返回该对象的字符串表示
    wait() 线程等待,直到其他线程调用此对象的notify() 或 notifyAll()

    构造方法:public Object()

    1. finalize()方法:java的垃圾回收时机
    2. Object的toString()方法:返回的是对象的字符串形式
    3. Object的equals()方法:比较两个对象是否相等

    数组

    Java数组.png

    数组是同种类型的数据集合,数组中放的每个数据为数组中的一个元素,元素的数量为数组的长度,为数组名.length

    数组的定义:

    数组的数据类型[] 变量名;
    数组的数据类型 变量名[];

    java数组实际上是对象,通过new创建对象,数组的下标不低于0,也比数组的元素个数小,在使用数组下标时,可能会产生ArrayIndexOutOfBoundsException错误,要小心了。

    多维数组

    int[][] a = new int[2][3];

    图片

    数组与字符串.png

    数组的使用步骤:
    1. 声明数组
    2. 创建数组
    3. 使用数组元素

    字符串

    字符串常量
    声明字符串变量
    创建字符串
    获取字符串长度

    字符串比较

    ==:比较两个字符串是否为同一个对象
    equals():比较两个字符串的内容是否相同

    检索:indexOf()
    截取:substring()
    替换:replace()
    忽略大小写比较:equalsIgnoreCase()
    字符串前缀、后缀是否为指定字符串:startWith()、endWith()
    字符串转换:parseInt()、parseByte()、parseShort()、parseLong()、parseDouble()
    数值转换为字符串:valueOf()
    对象的字符串:toString()

    结语

    • 本文主要讲解 Java基础知识-类,多态,Object,数组和字符串
    • 下面我将继续对Java、 Android中的其他知识 深入讲解 ,有兴趣可以继续关注
    • 小礼物走一走 or 点赞

    送❤

  • 相关阅读:
    Orleans is a framework
    修改emlog后台登录路径的方法(转)
    form表单中的 action=./?> 是什么意思
    10 个迅速提升你 Git 水平的提示(转)
    为什么国外程序员爱用苹果Mac电脑?(转)
    Socket 专题
    Android 时间戳简单转化
    Android 常用时间格式转换代码
    Android AlarmManager(全局定时器/闹钟)指定时长或以周期形式执行某项操作
    Android AlarmManager类的应用(实现闹钟功能)
  • 原文地址:https://www.cnblogs.com/dashucoding/p/11932514.html
Copyright © 2011-2022 走看看