前言

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

回顾

类的定义格式:

[类的修饰符] 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()方法:比较两个对象是否相等

数组

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

数组的定义:

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

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

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

多维数组

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

数组的使用步骤:

  1. 声明数组
  2. 创建数组
  3. 使用数组元素

字符串

字符串常量

声明字符串变量

创建字符串

获取字符串长度

字符串比较

==:比较两个字符串是否为同一个对象

equals():比较两个字符串的内容是否相同

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

结语

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

第二十九节:Java基础知识-类,多态,Object,数组和字符串的更多相关文章

  1. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  2. 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)

              大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out  of  bag  data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森 ...

  3. 风炫安全web安全学习第二十九节课 CSRF防御措施

    风炫安全web安全学习第二十九节课 CSRF防御措施 CSRF防御措施 增加token验证 对关键操作增加token验证,token值必须随机,每次都不一样 关于安全的会话管理(SESSION) 不要 ...

  4. 第二十八节:Java基础-进阶继承,抽象类,接口

    前言 Java基础-进阶继承,抽象类,接口 进阶继承 class Stu { int age = 1; } class Stuo extends Stu { int agee = 2; } class ...

  5. 十九、Java基础--------IO流之字节流

    在上一篇文章中介绍了IO体系以及一些基本概念和字符流的相关应用,本文着重介绍字节流的相关操作. 字节流 它的操作与字符流类似,可以参与字符流的定义.读取.写入.处理异常的格式,只不过是处理的数据不同, ...

  6. java基础知识—类和对象

    1.对象的特征---类的属性 每个对象的每个属性都有特定的值 对象的操作---类的方法 2.封装 对象同时具有属性和方法两项属性. 对象的属性和方法同时被封装在一起,共同体现事物的特性,二者相辅相成, ...

  7. 第二十九节,目标检测算法之R-CNN算法详解

    Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmenta ...

  8. Scala入门到精通——第二十九节 Scala数据库编程

    本节主要内容 Scala Mavenproject的创建 Scala JDBC方式訪问MySQL Slick简单介绍 Slick数据库编程实战 SQL与Slick相互转换 本课程在多数内容是在官方教程 ...

  9. java基础知识—类的方法

    1.定义类方法的语法: 访问修饰符 返回值类型 方法名(){ 方法体: } 2.方法名的规范: 1.必须以字母下划线·“—”或“$”开头 2.可以有数字,但不能以数字开头. 3.如果方法名是以多个单词 ...

随机推荐

  1. 一个free异常引发的异常

    有同事反馈说自己的线程不工作,查看堆栈发现其打印如下: # # # # # # # # , info= # <signal handler called> # # # # # # # , ...

  2. com.mysql.jdbc.Connection.isValid(I)Z

    spring boot项目 运行提示这个错误的时候 只需要配置

  3. js中子窗口调用父窗口中的变量、函数

  4. TensorFlow Android Camera Demo 使用android studio编译安装和解决Execution failed for task ':buildNativeBazel'报错

    可以参考官网:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#android-stud ...

  5. WordCount 3

    学号:201631062130.201631062304 码云地址:https://gitee.com/xnsy/WordCountPlus 一.代码互审情况:在代码的互审过程中,在命令和路径没有没有 ...

  6. python入门(七):字符串

    1.字符串类型: >>> s="早上好"               #str类型的字符串 >>> type(s) <class 'str ...

  7. 使用requests抓取https报SSL错误

    安装requests的方法:sudo pip install requests 当碰到requests链接https的时候报SSL错误的时候使用如下解决: 1:将python的pip 版本升级到9.0 ...

  8. 禁止 pdf 下载、打印的方法

    https://blog.csdn.net/For_GG/article/details/78616063 https://blog.csdn.net/xiangcns/article/details ...

  9. java爬虫框架webmagic学习(一)

    1. 爬虫的分类:分布式和单机 分布式主要就是apache的nutch框架,java实现,依赖hadoop运行,学习难度高,一般只用来做搜索引擎开发. java单机的框架有:webmagic和webc ...

  10. matlab中mat文件简单存/取

    >>abc=[,,,,,]; >>save data save file_name:命令可以将当前项目中变量的值保存到file_name中去,这里的data文件就是mat文件. ...