多态

定义:某一类事物的多种存在形态。

多态的体现:父类的引用指向了自己的子类对象。父类的引用也可以接收自己的子类对象。

多态的前提:必须是类与类之间有关系,要么继承,要么实现。通常还有一个前提,存在覆盖。

多态的好处:多态的出现提高了程序的扩展性。

多态的弊端:只能使用父类的引用访问父类中的成员。

转型:

public class Animal {

public void eat(){

System.out.println();

}

}

public class Cat extends Animal{

public void eat(){

System.out.println("猫吃鱼");

}

public void mouse(){

System.out.println("猫捉老鼠");

}

}

public static void main(String[] args) {

Animal c =new Cat();//向上转型

Cat cat=(Cat)c;//   向下转型,强转//不能把父类对象转换为子类类型。能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可以被强制转换。多态自始至终都是子类对象做着变化。

cat.mouse();

eat(c);

}

public static void eat(Animal a){

a.eat();

}

}

多态成员                       

多态成员函数的特点:在编译时期:参阅引用型变量所属的类中是否有调用的方法,如果有,编译通过,没有,编译失败。在运行时期:参阅对象所属的类中是否有调用的方法。
总结:成员函数在多态调用时,编译看左边,运行看右边。
成员变量的特点:无论编译与运行,都参考的左边。

静态成员函数的特点:编译和运行,都参考左边。

 

Object类

它是所有对象的间接父类;该类中定义的所有对象都具备的功能。无参构造:object()
equals()方法:java认为所有的对象都具备比较性,都能比较大小。

String str="328";


String str1="123";


System.out.println(str);//地址为com.rf.th.demo.Cat@7852e922


System.out.println(str1);//地址为com.rf.th.demo.Cat@4e25154f


System.out.println(str.equals(str1));//地址完全相同则为true,反之flase      equals(x==y返回true)

JDK常用封装类型
Scanner类
可以通过Scanner类来获取用户的输入。
初始化一个scanner对象Scanner scanner=new Scanner(System.in);
//获取字符串String s=scanner.next();
//判断语法boolean b=scanner.nextBoolean();//next后面的数据类型首字母大写。
//关闭输入对象scanner.close(); Java Number类
number数据类型:byte、integer、long、double、float、short。 //while(true){
String str=JOptionpane.ShowInputDialog("1111")////避免死循环
system.out.println();
}
String str=scan.nextlinr();// 可以输入空格隔开的两段字符 Integer in=new Integer("123556");//可以转化为数字类型的字符串。
Integer与int区别:
Integer默认值为空(null),包装类;
int默认值为0,是基本数据类型;

Math

Math对象是js提供给我们用于运算的方法的集合.

abs(x)返回数的绝对值。

exp(x)返回 e 的指数。

max(x,y)返回 x 和 y 中的最高值。

min(x,y)返回 x 和 y 中的最低值。

pow(x,y)返回 x 的 y 次幂。

random()返回 0 ~ 1 之间的随机数。

sqrt(x)返回数的平方根。

valueOf()返回 Math 对象的原始值。

Java Character 类

Character是char的包装类

isLetter()是否是一个字母

isDigit()是否是一个数字字符

isWhitespace()是否是一个空格

isUpperCase()是否是大写字母

isLowerCase()是否是小写字母

toUpperCase()指定字母的大写形式

toLowerCase()指定字母的小写形式

toString()返回字符的字符串形式,字符串的长度仅为1

String 类型

字符串比较:compareTo;compareToIgnoreCase(//忽略大小写)

查找字符串最后一次出现的位置:lastIndexOf

截取字符串出现:substring

字符串替换:replace ;replaceFirst ;replaceAll

字符串反转:StringBuffer

字符串查找:indexOf

字符串分割:split

字符串小写转大写:toUpperCase

字符串优化

1. 直接使用字符串 String str = "123"; String str1 = "123";

2. 使用 new 关键字 String str2 = new String("123");

连接字符串

StringBuffer起拼接连接作用,安全性高,速度效率慢  StringBuilder速度效率高,安全性低

  String str="早上好";

  int age=18;

  StringBuffer sb =new StringBuffer();//线程安全

  for(int i=0;i<2;i++){

  sb.append(str);

  sb.append(age);

}

  System.out.println(sb);


Dete(Java时间)


Date date=new Date();


SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E  M月第 W周 2017年第D天");


String time=sf.format(date); //format方法是继承父类java.text.DateFormat的方法


System.out.println(time);


System.out.println(date.before(date));\\时间不是静态的,所以不能用类名Date.
System.out.println(date.getTime());
date.setTime(12);// 设置时间
System.out.println(date.getTime());
 

多态、Object类和 JDK常用封装类型的更多相关文章

  1. 第10章 接口、继承与多态----Object类

    在Java中,所有的类都直接或间接继承了java.lang.Object类.Object类是比较特殊的类,它是所有类的父类,是Java类层中的最高层类.当创建一个类时,总是在继承,除非某个类已经指定要 ...

  2. 第九节 java7JDK的常用封装类型

    一.Java Scanner类 /初始化一个 scanner 对象. Scanner scanner = new Scanner(System.in); //判断语法 boolean b = scan ...

  3. java Object类是可以接收集合类型的

    废话不多说,上代码: package com.core.test; import java.util.ArrayList; import java.util.HashMap; import java. ...

  4. (1)抽象类 (2)接口 (3)内部类 (4)Object类

    1.抽象类(重点)1.1 抽象方法的概念 抽象方法就是指不能具体实现的方法,也就是该方法没有方法体,使用abstract关键字修饰如: public abstract void cry(); 1.2 ...

  5. Object类的toString()和equals()方法

    我们知道,Object类是所有类的父类,因此也被称为根类.祖先.那么,我们就来看一看Object类的最常用的两个方法是如何用的. 1.toString方法: Object类的toString()方法默 ...

  6. Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯.2.面向对象的出现,将复杂的事情简单化.3.面向对象的出现,将之前过程中 ...

  7. 【Object类、常用API】

    Object类 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类 ...

  8. Java 基础 常用API (Object类,String类,StringBuffer类)

    Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...

  9. day 21 封装,多态,类的其他属性

    封装 封装:将一些数据,重要的信息等等放到一个地方(空间中) class A: country = 'China' area = '深圳' def __init__(self,name,age): s ...

随机推荐

  1. 剑指offer编程题66道题 26-35

    26.二叉搜索树与双向链表 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向.   中序遍历思路:按照右中左的顺序,中序遍历对 ...

  2. 利用C#查看特定服务是否安装

    需求:想通过C#代码来查看IIS服务或者MSMQ是否已经安装 分析:IIS服务和MSMQ安装完成后都会创建windows服务,所以我们只需要查看对应的服务是否存在即可. 准备工作: IIS服务名称:W ...

  3. Zabbix 自定义Key

    系统:Linux Centos 7.4 x64.Windos 2008 x64 服务:Zabbix 3.0.16 说明1:自定义Key 主要通过自定义 脚本 或者 命令 来实现自定义监控类型,需要在a ...

  4. Spark 实现自定义对象sequenceFile方式存储,读写示例(scala编写)

    package com.fuge.bigdata.datahub.analysis import java.io.{DataInput, DataOutput} import com.fuge.big ...

  5. Spyder如何在弹出框绘图【转】

    本文转载自:https://blog.csdn.net/weixin_39231685/article/details/81028833 Spyder绘图默认出现在console面板,图片无法放大,看 ...

  6. 关于ARM指令中位置无关和位置相关代码的认识【转】

    本文转载自:https://blog.csdn.net/talent_CYJ/article/details/50533153 今天在一个问题上折腾了又是半天.就是在学JZ2440串口通信的时候,在s ...

  7. vim终端复制_不开启xterm_clipboard的解决方式

    后来发现了另外的方法,比这个更好==> 完美解决vim在终端不能复制的问题 http://www.cnblogs.com/cheerupforyou/p/6958695.html 使用xsehl ...

  8. 关于camera 构架设计的一点看法

    camera的构架目前来看有两种,一种是集中式管理,比如说建立一个引擎,引擎向上提供接口,向下管理所有模块.把camera的所有功能划分为不同的模块,又引擎统一管理.模块的结构就比较随意了,可以统一接 ...

  9. 用WAR的方式部署SpringBoot项目

    接SpringBoot 快速入门(Eclipse) 步骤一:部署方式 Springboot 和 web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢? 通常来说,Springb ...

  10. [CTSC2008]祭祀river

    Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在水面上,奉龙王为神.每逢重大庆典, Y族都 会在水面上举办盛大的祭祀活动.我们可以把Y族居住地水系看成一个由岔口和河道组 ...