• 多态、Object类和 JDK常用封装类型


    多态

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

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

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

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

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

    转型:

    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());
     



  • 相关阅读:
    python OptionParser的用法
    Python SMTP发送邮件
    python爬虫时,解决编码方式问题的万能钥匙(uicode,utf8,gbk......)
    logging的基本使用
    基本爬虫
    python socket 基本使用
    python os.walk处理树状目录结构的文件
    关于算法和方案——扯一会儿
    <五>强制关机惹的祸——redhat重装及注册订阅的艰难之路
    018 求完数(初识数组指针)
  • 原文地址:https://www.cnblogs.com/tanghao666/p/7147402.html
Copyright © 2020-2023  润新知