java,构造函数内部的多态行为

原创 2013年12月02日 15:05:14

1)java类必须要有构造函数,在java中,private方法被自动认为是final方法,而且对子类是屏蔽的,也就是说子类对父类的继承,是不能重写private方法的,如果是同名,且参数类型和个数都相同时,不是重写,而是一个新的方法。

2)定义父类Glyph

父类中的draw()方法是可以重写的

package cn.javass.user;

public class Glyph {
  void draw(){System.out.println("Glyph.draw()");};
 
  Glyph() {
 System.out.println("Glyph() before draw()");
 draw();
 System.out.println("Glyph() after draw()");
  }
}

3)定义子类RoundGlyph

package cn.javass.user;


public class RoundGlyph extends Glyph{

 private int radius=1;
 RoundGlyph(int r) {
  // TODO Auto-generated constructor stub
  radius=r;
  System.out.println("RoundGlyph.RoundGlyph(),radius="+radius);
 }
 void draw(){
  System.out.println("RoundGlyph.draw(),radius="+radius);
 }
 
 public static void main(String[] args) {
  new RoundGlyph(5);
 }
}

4)运行结果如下

Glyph() before draw()
RoundGlyph.draw(),radius=0
Glyph() after draw()
RoundGlyph.RoundGlyph(),radius=5
5)子类重写了父类的draw()方法,在父类的构造函数中,有一个多态的方法draw(),在调用draw()时,子类还没初始化,所以radius为0。

java异步处理

http://hi.baidu.com/941415509/item/b61f03ce6e90beddee183be2 Java 异步消息处理 一.    它要能适应不同类型的请求...

多线程之线程通信

简介  线程之间通信的两个基本问题是互斥和同步。  线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。  线程...
  • jiazhen
  • jiazhen
  • 2007年05月16日 15:37
  • 9878

Java构造函数内部的多态行为可能带来的问题

《Thinking in Java》 Java构造函数的初始化顺序 在所有事情发生之前,将该类以及其基类的所有对象分配的存储空间初始化为二进制的零。比如int类型会分配为0,对象会被初始化为null...
  • cyn618
  • cyn618
  • 2017年04月27日 16:14
  • 136

Java构造器内部的多态方法的行为

在一般的方法内部,动态绑定的调用是在运行时才决定的,因为对象无法知道它是属于方法所在的那个类,还是属于那个类的导出类。如果要调用构造器内部的一个动态绑定方法,就要用到那个方法的被覆盖后的定义。但是这个...

Java中构造器内部的多态方法的行为

这篇文章主要讨论的是,若在一个构造器中调用正在构造的对象的某个动态绑定的方法时会出现的情况。在此之前,我们需要知道构造器是如何在复杂的层次结构中运作的,尽管构造方法并不具有多态性,因为它们实际上是st...

java 构造器内部的多态方法和行为

今天看Thinking In Java,多态这一章,发现了一个以前纠结我很长时劲啊的错误,就是一个类编程对象,他到底是怎么一步步初始化的,今天这个谜底得意解开,下面开始正题。    ...

JAVA构造函数内调用多态方法

看如下程序代码段: public class Test1 { public static void main(String[] args) { A b = new B(); ...
  • Kinger0
  • Kinger0
  • 2015年11月03日 22:11
  • 1164

Java基础-构造函数,覆写父类方法,多态及动态绑定,抽象类和Object类的运用

Java构造函数,覆写父类方法,多态及动态绑定,抽象类和Object类的运用

黑马程序员--JAVA<面向对象>--构造函数、抽象类、接口、多态

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------...

Java 面向对象(封装、继承、多态+面向对象、构造函数、静态代码块)

Java面向对象 面向对象概念 类与对象的关系 封装 构造函数 this关键字 static关键字 单例设计模式 1.       面向对象概念 1.1    理解面向对象 面向对象是相对面向过程...
  • Nick_kj
  • Nick_kj
  • 2015年07月07日 18:15
  • 936
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java,构造函数内部的多态行为
举报原因:
原因补充:

(最多只允许输入30个字)