Java面向对象【经典案例】类的属性是属于对象的,方法是动态绑定到对象的
2013-11-30 23:38
447 查看
1、类的非静态属性是属于对象的,方法是动态绑定到对象的
2、类的静态属性是属于类本身的,在方法区中分配空间(类的方法也在方法区中分配,只有一份,对象们公用一份方法)。
package day03;
/**
* 父子类型具有相同属性, 的访问规则
* 人
* |-- 骗子
* 1) 属性绑定到变量的类型
* 2) 方法是动态绑定到对象的类型
* 3) 一般不建议在子类中声明与父类的同名属性
*/
public class Demo07 {
public static void main(String[] args) {
Cheater c = new Cheater();
Person p = c;
System.out.println(c.name+","+p.name);
p.whoru();
c.whoru();
}
}
class Person{
String name = "灰太郎";
public void whoru(){System.out.println(name);}
}
class Cheater extends Person{//骗子也是人呀
String name = "喜洋洋";
public void whoru(){System.out.println(name);}
}
2、类的静态属性是属于类本身的,在方法区中分配空间(类的方法也在方法区中分配,只有一份,对象们公用一份方法)。
package day03;
/**
* 父子类型具有相同属性, 的访问规则
* 人
* |-- 骗子
* 1) 属性绑定到变量的类型
* 2) 方法是动态绑定到对象的类型
* 3) 一般不建议在子类中声明与父类的同名属性
*/
public class Demo07 {
public static void main(String[] args) {
Cheater c = new Cheater();
Person p = c;
System.out.println(c.name+","+p.name);
p.whoru();
c.whoru();
}
}
class Person{
String name = "灰太郎";
public void whoru(){System.out.println(name);}
}
class Cheater extends Person{//骗子也是人呀
String name = "喜洋洋";
public void whoru(){System.out.println(name);}
}
相关文章推荐
- Java学习之面向对象(1.Object类,(1)toString方法,(2)equals方法,2.对象转型(casting),3.动态绑定与多态,4.抽象类(abstract),5.Final关键字)
- Java中对象方法的调用过程&动态绑定(Dynamic Binding)
- 第3章 Java与面向对象——FAQ3.01 什么是类. 对象. 属性和方法?
- java动态绑定在属性和方法上的不同
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- (JAVA)大话类、方法、参数、对象、属性以及面向对象的开发模式(欢迎高手泼墨)
- python-类和对象(属性、方法)的动态绑定
- java面向对象(类、对象、属性、方法、构造、this)
- 【java】java反射机制,动态获取对象的属性和对应的参数值,并属性按照字典序排序,Field.setAccessible()方法的说明【可用于微信支付 签名生成】
- java动态绑定在属性和方法上的不同
- Java动态绑定的理解-调用对象方法的执行过程
- 反射机制_介绍_Class对象获取_动态操作_构造器_方法_属性JAVA211-212
- Java通过反射机制动态设置对象属性值的方法
- PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
- Java远程过程调用基础:构建可自适应的动态代理对象的通用方法
- 关于多态性的动态绑定问题, 对象调用方法的执行过程.
- 从JVM内存管理的角度谈谈静态方法和静态属性 和 java对象引用与JVM自动内存管理
- Java继承中属性、方法和对象的关系
- java面向对象之类、属性、方法
- Java中通过注解+反射拿到对象的属性和方法