首页 > 代码库 > 多态、Object类和 JDK常用封装类型

多态、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,是基本数据类型;





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