天天看点

java cast_Java Class.cast方法

1、Java api

public T cast(Object obj);

Casts an object to the class or interface represented

解释的比较笼统,意思就是将一个对象装换为类或者接口。

2、代码示例

class A {

public static void show() {

System.out.println("Class A show() function");

}

}

class B extends A {

public static void show() {

System.out.println("Class B show() function");

}

}

public class TestCast {

public static void main(String[] args) {

TestCast cls = new TestCast();

Class c = cls.getClass();

System.out.println(c);

Object obj = new A();

B b1 = new B();

b1.show();

// casts object

A a = new A();

a = A.class.cast(b1);

System.out.println(obj.getClass());

System.out.println(b1.getClass());

System.out.println(a.getClass());

}

}

执行结果

class com.scot.effective.genericity.TestCast

Class B show() function

class com.scot.effective.genericity.A

class com.scot.effective.genericity.B

class com.scot.effective.genericity.B

核心为:a = A.class.cast(b1); 把a转化为了B类型,此处容易产生把b1转成A类型误解。

3、源码

public T cast(Object obj) {

if (obj != null && !isInstance(obj))

throw new ClassCastException(cannotCastMsg(obj));

return (T) obj;

}

4、总结

此方法只能转换当前类型或其子类下的对象,只是简单进行强转。

oracle调用JAVA类的方法

导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

Java中的方法应用

一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...

Java Runtime.availableProcessors()方法

Java Runtime.availableProcessors()方法用法实例教程.   描述 java.lang.Runtime.availableProcessors() 方法返回到Java虚拟 ...

paip.java OutOfMemoryError 解决方法o33

paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...

Java读写文件方法总结

Java读写文件方法总结 Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便.奈何我的记性实在是叫人着急,很多时候既 ...

java调用本地方法的时候报错 could not find the main class:xx.program will exit

如图所示,当在java调用本地方法的时候报错 我的解决办法是把dll文件放到System.out.println(System.getProperty("java.library.path& ...

给NSString增加Java风格的方法

给NSString增加Java风格的方法 文章目录 我实在受不了 NSString 冗长的方法调用了,每次写之前都要查文档.特别是那个去掉前后多余的空格的方法,长得离谱.与之对应的别的语言,拿 jav ...

Java基础——clone()方法浅析

一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

java接口的方法默认都是public abstract类型

java接口的方法默认都是public abstract类型, 因此我们在编写接口的实现类的时候,方法的实现前面要显式的加上public访问控制符

随机推荐

iOS UITableView 与 UITableViewController

很多应用都会在界面中使用某种列表控件:用户可以选中.删除或重新排列列表中的项目.这些控件其实都是UITableView 对象,可以用来显示一组对象,例如,用户地址薄中的一组人名.项目地址. UITab ...

粒子群优化算法-python实现

PSOIndividual.py import numpy as np import ObjFunction import copy class PSOIndividual: ''' individu ...

c# 如何通过反射 获取\设置属性值、

//定义类public class MyClass{public int Property1 { get; set; }}static void Main(){MyClass tmp_Class = ...

css Block formatting context BFC

w3c关于BFC解释: http://www.w3.org/TR/CSS21/visuren.html#block-formatting Mdn描述: A block formatting conte ...

html5标签基础

1.声明: HTML有多个不同的版本,只有完全明白页面中使用的确切HTML版本,浏览器才能完全正确的显示出HTML页面,这就是的用处. ...

LeetCode 234. 回文链表

class Solution { public: bool isPalindrome(ListNode* head) { deque d1, d2; ListNode* p = ...

Dell XPS 13 9306安装 macOS 10.12.6

一直在考虑买一个手上的本,轻薄,办公方便.个人很喜欢mac 下的那些软件,尤其是keynote.就锁定在Macbook Pro上,但是又觉得没有什么玩头,后来一直找,觉得xps也很符合要求,就开始调查 ...

C#使用SmtpClient发送邮件

目的:写一个可发送邮件的DLL. 原理: 例如A使用163邮箱发送邮件给B(qq邮箱).首先A会把邮件通过SMTP(Simple Mail Transfer Protocol)协议传输到163的Smt ...

DBLookupComboBox 的初始值

http://www.yourdelphi.com/topic_234544_e6b7.htm 试下在form的oncreate中加入 dblookupcombobox1.keyvalue:=tabl ...

web.py模版系统

介绍: 调用的web.py模版语言Templetor旨在将python的强大功能带入模版.它不是为模板创建新语法,而是重用python语法. Templetor故意限制模版中的变量访问.用户可以访问传 ...