class Base {
String name;
public Base(){
name="base";
}
public Base(String name){
this.name=name;
}
public void mention(){
System.out.println(name);}
}
class Chila extends Base{
public Chila (String name){
this.name=name;
}
}
class Text{
public static void main(String[] args){
Chila c=new Chila("bb");
c.mention();}
} 为什么子类继承了父类的mention()方法后 不能修改本类的name值啊?
输出的结果还是“base”
String name;
public Base(){
name="base";
}
public Base(String name){
this.name=name;
}
public void mention(){
System.out.println(name);}
}
class Chila extends Base{
public Chila (String name){
this.name=name;
}
}
class Text{
public static void main(String[] args){
Chila c=new Chila("bb");
c.mention();}
} 为什么子类继承了父类的mention()方法后 不能修改本类的name值啊?
输出的结果还是“base”
解决方案 »
- 谁有java集合总结的所有知识呀,就是总结出一个word文档,谁有呀
- 关于mysql的一些小问题
- java socket异步通讯
- 一个书上的习题
- 计算机流量统计
- 对JScrollBar做了监听 没反应?
- Java中如何实现对文本文件的插入文本,删除文本等操作
- skyyoung(路人甲)先生,你好:我遇到一个难题,特向你请教,我用 qmail+vpopmail 做邮件服务器,怎样区分新旧邮件?
- client端是 applet的C/S程序在本地机上测试,需如何设置?!
- [求助] - 子类调用父类方法,通过反射获取父类属性,菜鸟烈日跪求.
- 关于JDBC结果集,查询结果不完全
- [求助]SWT中Tree控件的使用,如何实现鼠标对节点拖拽的操作
父类的非私有化属性(不同包的子类无法访问default修饰符)和方法可以默认继承到子类。
Class Son extends Father{
}
而如果父类中的私有方法被子类调用的话,则编译报错。
父类的构造方法子类不可以继承,更不存在覆盖的问题。
所以子类构造方法默认调用父类的无参构造方法。(所以养成写无参构造的习惯)
如果子类访问父类的有参构造方法,必须在子类构造方法第一行使用super(参数)
当构造一个对象的时候,系统先构造父类对象,再构造子类对象。
Public class BMWcar extends Car{
Public BMWcar(){
Super(int alength); //显式的调用父类的构造,默认调用无参构造
//所以父类没有无参构造的话,子类如果不加显示调用其他构造就会报错。这里的super是一个对父类的引用
}
}
public class Test { public static void main(String[] args) {
Chila c = new Chila();
c.mention();
}}
class Base1 {
String name; public Base1() {
name = "base";
System.out.println(name);
}
}class Chila1 extends Base1 {
public Chila1() {
}
}输出:base
Chila1 c = new Chila1();
}}
class Base1 {
String name; public Base1() {
name = "base";
System.out.println(name);
}
}class Chila1 extends Base1 {
public Chila1() {
//默认调用父类的无参构造
}
}