首页 > 其他分享 >instanceof和类型转换

instanceof和类型转换

时间:2022-11-20 20:25:34浏览次数:32  
标签:instanceof 类型转换 System Person Student println out

instanceof

package com.oop.demo06;

public class Person {
    
}
//==========================
package com.oop.demo06;
public class Teacher extends Person {

}
//===========================
package com.oop.demo06;
public class Student extends Person {
    
}
//===========================
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;

public class Application {
    public static void main(String[] args) {
        //Object > Person > Student
        //Object > Person > Teacher
        //Object > String
        Object object = new Student();

        System.out.println(object instanceof Student);//true
        System.out.println(object instanceof Person);//true
        System.out.println(object instanceof Object);//true
        System.out.println(object instanceof Teacher);//false
        System.out.println(object instanceof String);//false
        System.out.println("===================================");
        Person person = new Student();
        System.out.println(person instanceof Student);//true
        System.out.println(person instanceof Person);//true
        System.out.println(person instanceof Object);//true
        System.out.println(person instanceof Teacher);//false
        //System.out.println(person instanceof String);//编译报错
        System.out.println("===================================");
        Student student = new Student();
        System.out.println(student instanceof Student);//true
        System.out.println(student instanceof Person);//true
        System.out.println(student instanceof Object);//true
        //System.out.println(student instanceof Teacher);//编译报错
        //System.out.println(student instanceof String);//编译报错
    }
}

类型转换

//====================================
//类型转换
package com.oop;
import com.oop.demo06.Person;
import com.oop.demo06.Student;
import com.oop.demo06.Teacher;

public class Application {
    public static void main(String[] args) {
        //类型之间的转换:父   子
        //      高              低
        Person person = new Student();
        //将person这个对象转换为Student类型,就可以使用Student类型的方法了
        Student student = (Student) person;
        student.go();
        //或者写成下边形式
        ((Student) person).go();
        
        //-------------------------------------------------
        //子类转换为父类,可能会丢失一些方法!
        Student student = new Student();
        student.go();
        Person person = student;
        ((Student) person).go();
    }
}


//--------------------------------------
package com.oop.demo06;

public class Person {
    public void run(){
        System.out.println("run");
    }
}
//--------------------------------------
package com.oop.demo06;

public class Student extends Person {
    public void go(){
        System.out.println("go");
    }
}
/*
多态:
1.父类引用指向子类的对象
2.把子类转换为父类,向上转型
3.把父类转换为子类,向下转型;强制转换
4.方便方法的调用,减少重复的代码! 简洁

抽象 : 封装、继承、多态
 */

标签:instanceof,类型转换,System,Person,Student,println,out
From: https://www.cnblogs.com/wangzhizhi/p/16909405.html

相关文章

  • Day8-3 instanceof和类型转换
    instanceof和类型转换判断一个对象是什么类型:instanceofxinstanceofy packagecom.oop; ​ importcom.oop.demo06.Person; importcom.oop.demo06.Student; im......
  • C语言类型转换
    类型转换类型转换:在C语言中,当一个运算符的几个操作数类型不同时,编译器会在进行运算之前将他们共同转化为某种一样的数据类型,一般来说编译器会先将占用内存较小的数据转化为......
  • C 强制类型转换获取不同数据的字节表示
    #include<stdio.h>//指向类型为unsignedchar类型的对象指针typedefunsignedchar*byte_pointer;//size_t32位4字节64位8字节voidshow_bytes(byte_pointers......
  • MySql类型转换函数cast
    这两天处理一个现网的MySQL慢查询工单,学到了一个好用的MySQL函数:cast。事情是这样的:我们有两张表t_user和t_rule表,需要关联这两张表去查询,关联字段是t_user表的主键......
  • Javascript中字符串的instanceof String的结果
    如果是单纯的字符串赋给变量,虽然类型为string,但是instanceofString是false,并不是String对象,因为没有创建实例. 而这种new一个String实例则instanceof是属于String......
  • go--类型转换
    1int与string备注:string不可直接转int32,先转为int,再转成int32packagemainimport("fmt""strconv")funcmain(){//int转stringvaraint......
  • 类型转换
    由于Java是最强类型语言,所以要进行有些运算的时候,需要用到类型转换。低------------------------------------------高byte,short,char-->int-->long-->float-->double......
  • 类型转换
    1packagecom.Lucky.base;23publicclasstypeTransition{4publicstaticvoidmain(String[]args){5//类型转换6//低到高byt......
  • 多态性、instanceof关键字
    目录多态性向下转型instanceof关键字多态性理解多态性:可以理解为一个事物的多种形态。何为多态性:对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)多......
  • python3-基础篇-05-数据类型及类型转换
     一、数据类型python的数据类型分别有以下几类类型python3 python2说明Number(数字)int(整型)、float(浮点型)、complex(复数)lfloatong(长整型)在python3里,不区分整型与长整型,统......