派生类的构造方法以及修饰符的作用
2017-09-25 19:47
148 查看
派生类的构造方法
在学习如何定义类的时候,我们学会了定义类之后如何使用构造方法来初始化对象。在继承关系中至少有两个类,那么是使用父类还是子类的构造方法来初始化对象呢?在子类中调用父类的默认构造方法(无参)
public class MyDerivedClass{ public MyDerivedClass:base(){ //do something } }
在这里base可以直接不写,因为编译器默认会调用父类中的默认构造方法。
调用有参数的构造方法
public class MyDerivedClass{ public MyDerivedClass(string name):base(name){ //do something } }
在这里,base(name)不能省略,因为子类要将参数传给父类。
例子:
class BaseClass { private int x; public BaseClass() { Console.WriteLine("这里是父类的无参构造函数"); } public BaseClass(int x) { this.x = x; Console.WriteLine("x赋值完成"); } } class DerivedClass:BaseClass { private int y; public DerivedClass():base() //base()可以不写,编译器会默认使用父类的构造函数 { Console.WriteLine("这里是子类的构造函数"); } public DerivedClass(int x,int y):base(x) { this.y = y; Console.WriteLine("y赋值完成"); } }
在继承中,使用子类初始化对象时,会先调用父类的构造方法,再调用子类的构造方法。
修饰符
写程序时,例如主函数public static void main(string[] args){}
我们会发现public、static都是用来修饰这个函数的,那么他们的作用具体是什么呢?
修饰符是用来修饰类型或成员的关键字,并且可以指定方法的可见性。
下图是各个修饰符的作用和作用对象
这里面有几个修饰符需要重视。
public:表示字段和方法能够通过对象去访问。
private:表示字段和方法只能在类模板内部访问。
protected:当没有继承关系时,它的作用和private是一样的。
public class和class的区别:前者可以在别的项目下访问,后者不行。
static:static修饰的被叫做静态字段或静态方法,当我们构造对象的时候,对象中只包含了普通字段,不包括静态字段,静态字段只能够通过类名来访问。
相关文章推荐
- Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)
- 面试题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围
- Scala 类的主构造方法中属性修饰符的作用与区别
- Java的自学之路-构造方法 的作用以及与set方法的区别
- java中的方法,静态方法,实例方法,构造方法,自定义方法,以及修饰符访问
- 变量名命名规则,构造方法的作用,类名命名规则
- 黑马程序员_HashCode()方法的作用?以及在HashSet集合中的使用
- Java静态初始化,实例初始化以及构造方法
- java中无参数构造方法有何作用?
- Java 构造方法私有化的作用
- 异步JS框架的作用以及实现方法
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- javascript中apply方法和call方法的作用以及prototype.js中的应用
- java中实例变量、类变量以及构造方法的加载顺序
- java中什么是构造方法及其作用
- ASP.NET使用EF时的seed方法以及初始数据的构造
- JAVA中super()作用:调用父类构造方法和构造方法链
- Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】
- 派生类的构造方法
- BeanShell脚本方法的访问修饰符以及throws子句