第二部分 第七章 创建并管理类和对象
  zOE2xWkB8BXt 2023年11月02日 65 0

1、class关键字定义类。类的主体包含方法和字段。


class Cirle
{
int radius;
double Area()
{
return Math.PI*radius*radius;
}
}

2、创建类实例使用关键字new

Circle c;//声明变量c
c = new Circle();//创建类实例

3、控制可访问性

关键字 private 私有的,只能从类内部访问,同一类型的不同实例也可以访问私有字段。私有只的是在类别上的私有,而不是在对象上的私有;

关键字 public 公共的,可以在类外部访问。

如无关键字,则默认为私有,因此可访问性应显示声明。

公共标识符命名以大写字符开头,私有标识符以骆驼命名法命名。

4、使用构造器

构造器是在创建类实例时自动运行的公共的方法,与类同名,但无返回值。构造器的本质还是方法。

class Cirle
{
int radius;
double Area()
{
return Math.PI*radius*radius;
}
public Circle()//构造器
{
radius = 0;
}
}

5、重载构造器:和方法重载一样

class Cirle
{
int radius;
double Area()
{
return Math.PI*radius*radius;
}
public Circle()//默认构造器
{
radius = 0;
}
public Circle(int initialRadius)//重载的构造器
{
radius = initialRadius;
}
}

一旦为类写了任何构造器,编译器就不再自动生成默认构造器,所以必须自己写一个默认构造器(无参构造器)

6、分部类:类可能包含大量的方法,字段,构造器等等,可以将类的源代码分布到不同的文件中,要使用关键字partial定义类的不同部分。

文件1

partial class Cirle
{
int radius;
double Area()
{
return Math.PI*radius*radius;
}
public Circle()//默认构造器
{
radius = 0;
}
}

文件2

parpial class Cirle
{
public Circle(int initialRadius)//重载的构造器
{
radius = initialRadius;
}
}

7、关键字this,当参数与字段重名时,用this限定字段

this.x = x;//第一个x是字段,第二个是参数


8、解构器:检查对象(类的实例)并提取它字段的值。

必须命名为Deconstruct

必须是void方法

必须获取一个或多个参数,这些参数由对象中的字段的值填充

必须用out修饰符加以标记

方法主体向参数赋值

class Cirle
{
int radius;
double Area()
{
return Math.PI*radius*radius;
}
public Circle()//默认构造器
{
radius = 0;
}
public Circle(int initialRadius)//重载的构造器
{
radius = initialRadius;
}
pubulic void Deconstruct(out x,out y)//解构器
{
x = this.x;
y = this.y;
}

9、如果方法从属于一个类,而且操作的是这个类的某个实例的数据,则这个方法被称为实例方法。

10、通常提供了有用的、和类的实例无关的的功能的方法称为工具方法或实用方法。

11、静态方法和数据

所有的方法都必须在类的内部声明,用关键字static 声明的方法或字段,可以通过类名调用或访问。比如Math.sqrt和Math.PI

*静态方法:也称为类方法,不依赖类实例,不能在其中访问类的任何实例字段或实例方法,只能访问标记为static的其他方法或字段。

比如Math.sqrt。

*静态字段:在所有类实例之间共享(非静态字段只能局部与类实例),比如Math.PI

*关键字const声明数值、字符串、枚举类型的常量,常量是特殊的静态字段。

12、匿名类:以new关键字开头,跟一对{};匿名类只能包含公共字段,不能是静态,字段必须全部初始化,不能包含任何方法。

var child = new {Name = "John",Age = "12"};


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  LxKByvFwtHdi   2023年11月02日   41   0   0 主键字段spring
  lh6O4DgR0ZQ8   2023年11月22日   26   0   0 Memory字段sed
  cnCTZTo8tgOC   2023年11月02日   34   0   0 父类字段子类
  X5zJxoD00Cah   2023年11月02日   51   0   0 2dmathhtml
  LxKByvFwtHdi   2023年11月02日   42   0   0 主键字段外键
zOE2xWkB8BXt