Java之instanceof
2015-09-22 12:42
537 查看
class Base{
int
x = 1;
static
int
y = 2;
String name(){
return
"mother";
}
static String staticname(){
return
"static mother";
}
}
class Subclass extends Base{
int
x = 4;
int
y = 5;
int
z = 6;
String name(){
return
"baby";
}
static String staticname(){
return
"static baby";
}
}
public
class Test02{
public
static
void main(String[] args){
Subclass s = new Subclass();
if(s instanceof Subclass){
System.out.println(s.x+" "+s.y+" "+s.name()+" "+s.staticname());
}
Base s1 = s;
if(s1 instanceof Subclass){
System.out.println(s1.x+" "+s1.y+" "+s1.name()+" "+s1.staticname());
}
Base s2 = new Base();
if(s2 instanceof Subclass){
System.out.println(s2.x+" "+s2.y+" "+s2.name()+" "+s2.staticname());
}
}
}
/*
结果:
4 5 baby static baby
1 2 baby static mother
结论:
instanceof
用来判定对象A是否为类B的对象,或者A,B之间是否存在继承关系
如果A,B之间是不否存在继承关系,则编译不过
*/
int
x = 1;
static
int
y = 2;
String name(){
return
"mother";
}
static String staticname(){
return
"static mother";
}
}
class Subclass extends Base{
int
x = 4;
int
y = 5;
int
z = 6;
String name(){
return
"baby";
}
static String staticname(){
return
"static baby";
}
}
public
class Test02{
public
static
void main(String[] args){
Subclass s = new Subclass();
if(s instanceof Subclass){
System.out.println(s.x+" "+s.y+" "+s.name()+" "+s.staticname());
}
Base s1 = s;
if(s1 instanceof Subclass){
System.out.println(s1.x+" "+s1.y+" "+s1.name()+" "+s1.staticname());
}
Base s2 = new Base();
if(s2 instanceof Subclass){
System.out.println(s2.x+" "+s2.y+" "+s2.name()+" "+s2.staticname());
}
}
}
/*
结果:
4 5 baby static baby
1 2 baby static mother
结论:
instanceof
用来判定对象A是否为类B的对象,或者A,B之间是否存在继承关系
如果A,B之间是不否存在继承关系,则编译不过
*/
相关文章推荐
- 【Head First Java 读书笔记】(五)编写程序
- Java编译时根据调用该方法的类或对象所属的类决定
- Java子类与父类方法的隐藏和覆盖
- context-param引发spring容器以及servlet容器的关联
- 快速排序java实现
- Java读取Excel
- spring websocket自动断开连接再创建引发的问题解决方案
- java于23设计模式
- (25)JAVA.IO--使用Java创建指定大小的空文件
- struts2 国际化
- MyEclipse 快捷键(快捷键无效解决方案)
- JDK源码阅读之HashMap类
- JSP教程之使用JavaBean完成业务逻辑的方法
- java 线程Thread.Sleep详解(转载)
- 【转】java中注解的使用与实例
- JDK、J2EE、J2SE、J2ME四个易混淆概念区分
- mina 框架java服务端的搭建和通信。
- Eclipse中10个最有用的快捷键组合
- Java取整方法总结
- Struts2开发-i18n国际化实现案例-登录页面