问问各位大侠关于new的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:18:17
以前我在学习由类创建对象的时候遇到过关于new的问题,比如说,Strudent是一个类 现在我们需要创建一个Student类的对象StudentObject 于是我们就使用这个语句 Student StudentObject=new Student();
于是现在的问题来了
(一)、为什么有的书中仅仅写了这么一句话 就是 new Student() 请问各位大侠 这句话是什么意思呀? 它也是创建一个Student类的对象吗? 如果是的话 请问这个对象又是什么呢?
(二)、如果Employee和Manager各是一个类的话,如果有如下一个语句
Employee e=new Manager();
请问这句话是什么意思呢?这个e这个对象是如何创建的呢?

1.Student StudentObject=new Student();
new可以理解为产生,新增的意思。
Student 是类,new Student(); 是一个Student的对象,而StudentObject就是这个对象的名字
举个例子,可以这样理解这句话:
人 张三 = new 人();

2.如果Employee和Manager都是类的话,那么Employee肯定是Manager的父类了(也就是继承关系了)
不知道你对继承是否理解,如果不理解的话,我们解释一下:继承简单来说也就是父子关系,儿子拥有父亲所有的属性(儿子和父亲一样的属性/方法),一个父亲可以有多个儿子,而一个儿子只能有一个父亲。也可以说成是大类到小类的关系(但是这个小类是可以扩展的,他可以拥有比父亲多的方法和属性),暂且这样理解吧

我们这里举个例子:
人 :是一个大类
中国人:它继承自‘人’这个类,是‘人’这个大类下的小类

Employee e=new Manager();
然后这句话就可以这样理解了:
人 李四 = new 中国人();

没事看看类和继承那一块,就会清楚多了。

1. new Student() 就是为了调用构造方法,没有定义一个局部或者类的属性去指向这个建立的对象,一般就是例子的时候示例用的,真正写代码很少有这么写的

2. Manager是Employee的子类,
Father f = new Child();
是允许的

(一)、new Student()是创建了一个匿名类,他也可以调用students()类中得属性,有时候只需调用一次这个类中得某一个属性或方法时可以用他
(二)、Employee e=new manager()中Employee 可能是一个接口,抽象类,或manager()类得父类,创建的是manager()的对象,可以用Employee 调用。

(一)
Student StudentObject = new Student();
其实这行语句执行了三步:<