现在越来越多的人开始学习java,很多人求学心切,免不了贪多而忽略了一些基本的,也是必须搞清楚的概念。下面我就来说说java里类的构造器概念。大家知道java作为一门OO语言,和C++,Smalltalk等一样有3个最要害 1。ADT 2。继续 3。多态 当然对于java,类的概念是重中之重,对于类的构造和对象的实现就需要用到构造器。 例如:class PRofesser(){ private string name; private int number; public Professer(string n,int no){ name=n; number=no; } public teach(){} } 下面我们要对这个类的对象实例化:Professer p =new Professer() 以上就是构造器的语法了,这里用到了要害字 new
讲到这里还没有什么可以困扰我们的地方,那么下面我们将借助有关继续的一些例子来继续阐述构造器问题: 假设:class OldProfesser(){ private string name; private int number ; private int age; public do(){} }
有人也许会问为什么这个OldProfesser类里面为什么没有定义构造器?其实,java已经我们定义了一个无参数的默认构造器,即OldProfesser(){} Ok, 到这里为止,没有任何问题,然而,一旦让OldProfesser继续Professer并实例化,编译器就会报错,LOOK: class OldProfesser extends Professer(){ private string name; private int number ; private int age;
public do(){} public static void mian(string[] args){ OldProfesser o=new OldProfesser(); } 很抱歉你得到的是一条出错的信息,有人问了,你说OldProfesser的构造器是默认的我才这样写,没错,OldProfesser确实存在这样一个无参的构造器,这样写法换做OldProfesser不做Professer的子类的情况下一定是正确的。