C#构造方法重载
1、什么是构造方法?
首先,它是一个方法,它是类中 众多方法中的一个。其次,它具有类中其他方法所不具备的一些特性。
在类执行开始的时候,执行这个方法。
2、构造方法相对其他方法有哪些不同?
方法名:类中普通的方法可以根据代码书写者的个人喜好任意取名。但是,构造方法不可以。构造方法的名字必须与类名相同。换句话说,当类中的一个方法名与类名相同时,C#即认为此方法为类的构造方法。
执行顺序:类中的普通方法是在类实例化之后被调用执行的,而构造方法则是在类实例化之前执行的。
Circle圆类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace over
{
class Circle
{
public int r; public Circle()//不带参数的构造方法,为默认构造方法
{
Console.WriteLine("Circle类的构造方法被调用");
r = 10;
} public Circle(int rid)
{
Console.WriteLine("Circle类中重载了的构造方法被调用");
r = rid;
} public double s()
{
return Math.PI * r * r;
}
}
}
在没有添加构造方法的时候,默认类中会为我们添加一个不带参数,名字和类名相同的方法,这个方法被称为构造方法,构造方法无需添加void ,int等关键字,直接public+方法名()
Program类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace over
{ class Program
{
static void Main(string[] args)
{
Program p = new Program();
p.run(); } void run()
{
Circle c;
c = new Circle();
// c = new Circle(20);// 传递参数20到circle类中,调用重载了的带int rid参数的构造方法 double area = c.s();
Console.WriteLine(area); Console.ReadKey(); } } }
实例化一个Circle属性的c,
Circle c = new Circle();
在不传值的情况下,默认掉用的是不带参数的构造方法,定义了r=10;
在执行
c = new Circle(20);
传递参数20,调用的是重载的public Circle(int rid)构造方法,这是r=20;
C#构造方法重载的更多相关文章
- 匿名对象 构造方法 重载 构造代码块 this 关键字
一.匿名对象 1.匿名对象 :没有名字对象 2.匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值,无法获取属性值. 2.匿名对象永远都不可能事一个对象. 3.匿名对象的好处 : 书写简单. ...
- java——构造方法重载
class Person { private String name ; private int age ; public Person() { } public Person(String n,in ...
- 074、Java面向对象之构造方法重载
01.代码如下: package TIANPAN; class Book { // 定义一个新的类 private String title; // 书的名字 private double price ...
- Constructor Overloading in Java with examples 构造方法重载 Default constructor 默认构造器 缺省构造器 创建对象 类实例化
Providing Constructors for Your Classes (The Java™ Tutorials > Learning the Java Language > Cl ...
- 学JAVA第十五天,方法重载及构造方法进一步了解
由于星期五生病了,所以就没写.今天上课,又来写了!!! 先来说方法的重载. 方法的重载就是有两个方法的方法名相同,但参数不一致,参数个数不一致,或参数的类型不一样. package pkg9;publ ...
- Java方法、构造方法的重载;创建对象;调用方法
方法的重载 概念:多个同名但是不同参数的方法称为方法的重载 作用:编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法 特点:方法名相同:同一作用域:参数不同:数量不同 类型不同 顺序不同 ...
- C#类的继承,方法的重载和覆写
在网易云课堂上看到唐大仕老师讲解的关于类的继承.方法的重载和覆写的一段代码,注释比较详细,在此记下以加深理解. 小总结: 1.类的继承:允许的实例化方式:Student t=new Student() ...
- 【java基础】重载与重写
前言 : 很早的时候,我就知道这两个东西,但是,也仅仅是停留在知道的程度而已,对于什么是重写,什么事重载,还是感到十分的迷惑,迷茫.正好,在软考复习时又经历这两个东西,细心一点,探究了一下,有点收获, ...
- Java中的构造函数和重载
一.Java中的构造函数 构造函数是对象被创建时初始化对象的成员方法,它具有和它所在的类完全一样的名字.构造函数只能有入口参数,没有返回类型,因为一个类的构造方法的返回类就是类本身.构造函数定义后,创 ...
随机推荐
- HTML学习笔记——CSS初涉
1>嵌入式css写法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- JSON-LD
RDF RDF用于信息需要被应用程序处理而不是仅仅显示给人观看的场合.RDF提供了一种用于表达这一信息.并使其能在应用程序间交换而不丧失语义的通用框架.既然是通用框架,应用程序设计者可以利用现成的通用 ...
- Sql2008R2设置远程链接
下边的文章是从百度经验里粘过来的.. 经过测试确实有效..留个备份.. 有个小情况在前边说一下.. 在操作前一定要确定自己的sa用户密码是不是一样..不要以为自己知道的是对的就直接略过某些步骤.. 俗 ...
- js中自定义事件,使用了jQuery
$(function(){ $('#btn').bind("myClick", function(){ //自定义myClick事件 $('#test').append(" ...
- MVC下的客户端模板技术
1.引言 在Web编程中,我们有时经常需要使用Ajax来访问服务端的接口,然后使用这些返回的数据(一般格式都是JSON)来展示客户端的相关信息.例如:在一个商品列表,我们点击某一样的商品,查看该商品的 ...
- Nginx反向代理模板
nginx反向代理模板,修改nginx.conf #Basic reverse proxy server # upstream wcf{ server localhost:8080; #wcf1 ...
- C#程序
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...
- eclipse将引用了第三方jar包的java项目打成jar包
今天用java开发了一个项目,想要打成jar包,并在linux环境下运行.但是运行时引用的第三方jar包却显示classNotFind错误. 于是查了一下解决办法,在此贴出来,方便以后查阅. 用Ecl ...
- 存储过程获取最后插入到数据表里面的ID
存储过程获取最后插入到数据表里面的ID SET NOCOUNT on;---不返回影响行数提高性能GOcreate proc [sp_bbs_thread_Insert] @id int output ...
- 【转载】Unity 优雅地管理资源,减少占用内存,优化游戏
转自:星辰的<Unity3D占用内存太大的解决方法> 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D ...