1在数组那,基本类型的数组定义,必须定义其大小,也就是下标,这样理解对吗?2,如果是引用类型的数组,则必须将其实例经,也就是和类一样,实例化一个对象出来,才能寻她进行附值.?????对吗?
3,方法的覆盖,如果不满足覆盖条件的话,那这个方法会不会成为子类的自己的方法,也就是私有的方法呢?(比如说方法名相同,但参数或者返回值不同的话.)
例子,class A{
public void method(){
System.out.println("Superclass method()");
}
}
class B extends a{ public void Method(){
}
public static void main(String args[]){
new B().method();
}
}
B类里的method为什么是大写开头的,而且是红色的?方法的重载是一个类里的,方法的覆盖是在类的继承里的,情况不同所以叫法不同,这样理解对吗
还有,继承的多态是什么意思?看了好久看不懂?????
数剧类型那的装箱是怎么同事?????
谢谢各位啦!!!!!!!!!
3,方法的覆盖,如果不满足覆盖条件的话,那这个方法会不会成为子类的自己的方法,也就是私有的方法呢?(比如说方法名相同,但参数或者返回值不同的话.)
例子,class A{
public void method(){
System.out.println("Superclass method()");
}
}
class B extends a{ public void Method(){
}
public static void main(String args[]){
new B().method();
}
}
B类里的method为什么是大写开头的,而且是红色的?方法的重载是一个类里的,方法的覆盖是在类的继承里的,情况不同所以叫法不同,这样理解对吗
还有,继承的多态是什么意思?看了好久看不懂?????
数剧类型那的装箱是怎么同事?????
谢谢各位啦!!!!!!!!!
所谓重载,是方法名相同而参数列表不同。比如一个类的构造函数class A()
{
private int i;
private int j; A(){} //默认构造函数 A(int i,int j){
this.i = i;
this.j = j;
} //对构造函数进行重载 public void printStr(String s) //解释 方法重写,备用
{
System.out.println(s);
}
}
这里有两个构造函数,A()和A(int,int)。这就叫重载。我们实例化对象的时候可以选择适当的构造函数。比如new A()或new A(1,2);普通的成员方法与此类似。现在说重写。比如有个类Bclass B extends A()
{
public void printStr(str)
{
System.out.println("this is override method"+s); //对A类继承下来的printStr方法进行重写
}
}基本就是这样吧
只是定义的话不用
初识化的话必须2,如果是引用类型的数组,则必须将其实例经,也就是和类一样,实例化一个对象出来,才能寻她进行附值.?????对吗?
没看太明白,
引用类型数组,是这样么?
比如List[] list=new List[n];这样?这样是new出来n个List给这个List的数组.
同样,你也可以
LinkedList[] ll=new LinkedList[n];
List[] list=ll;
这样就没有new出来任何新的List的实例.3,方法的覆盖,如果不满足覆盖条件的话,那这个方法会不会成为子类的自己的方法,也就是私有的方法呢?(比如说方法名相同,但参数或者返回值不同的话.)
如果不满足覆盖条件的话,这个方法会成为子类自己的方法,
私有方法是在方法前加private,与覆盖不覆盖没关系...
B类里的method为什么是大写开头的,而且是红色的? JAVA虽然大小写区分,
但JAVA里没有规定方法名首字母不能大写
只是人们为了不混淆各种变量方法名而遵循的一种规范不推荐方法名首字母大写
红色是因为你发帖的时候用了ubb代码
[color=#FF0000][/color]里加的文字会变成红色方法的重载是一个类里的,方法的覆盖是在类的继承里的,情况不同所以叫法不同,这样理解对吗
参见1楼,
一个类里有多个同名的方法,并用参数类型或个数的不同加以区分,这种情况叫重载
一个类继承另一个类,并且子类有一个方法与父类一模一样(方法名,参数列表,返回值)这种情况叫覆盖(重写)还有,继承的多态是什么意思?看了好久看不懂?????
没什么必要看,只要你把继承,接口,抽象类,重写,重载,等等这些概念搞清楚了基本就懂什么是多态了..
非要解释的话..请看:对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。
在java语言中,多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写实现的动态多态性(运行时多态)。
1) 编译时多态
在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。
2) 运行时多态
由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。
重写方法的调用原则:java运行时系统根据调用该方法的实例,来决定调用哪个方法。对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。数剧类型那的装箱是怎么同事?????
就是说,基本数据类型,有int,char,double,long,float,boolean这6个,他们并不是真正意义上的"类"
为了满足某些需要
基础类型的封装就是说把他们变成真正意义上的类,如Integer,Chararcter,Double,Long,Float,Boolean
这些是类,可以像Integer i=new Integer(6);这样使用,不能直接进行运算..
2,Object[]objs = new Object[2]; //这样定义没关系,也可遍历,只不过都是null,实例化的想法是对的
3,覆盖父类的方法 就是使用方法签名(参数列表,方法名)相同的方法,不相同就是子类自己的方法咯
你的方法名Method正好与系统保留的关键字冲突,解决:改个名字就好,如:method1
提示:方法名第一个单词的第一个字母最好用小写,其后的单词第一个字母大写楼主那样说法子类重写父类的方法,只要有一点不同就属于自己的方法.
提示:重载与重写与返回类型无关.