首页 > 其他分享 >第二部分 第七章 创建并管理类和对象

第二部分 第七章 创建并管理类和对象

时间:2023-03-19 14:02:22浏览次数:38  
标签:对象 创建 构造 关键字 实例 radius 第七章 Circle Math

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"};


标签:对象,创建,构造,关键字,实例,radius,第七章,Circle,Math
From: https://blog.51cto.com/u_15457717/6131195

相关文章

  • C++面向对象、初始化列表、static const
    面向对象OOP​ OOP的四大特征:抽象、封装、继承、多态​ 对象内存大小只和成员变量有关,不同对象的变量都有自己的空间,成员方法是所有对象共享的,一旦编译会添加this指针,......
  • 钉钉群Outgoing机制机器人创建教程
    引言钉钉群机器人是钉钉为用户提供的智能群助手,帮助群里沟通协同更加高效。本文介绍如何在钉钉中创建群机器人并接入第三方平台。钉钉群机器人钉钉群机器人有三种创建......
  • 【JavaScript】window对象_event事件对象
    1.event对象属性event对象可以获取和设置当前事件的有关信息,比如,获取发生事件的事件源对象,像键盘按下时使用的是哪个按键,鼠标事件发生时的鼠标......
  • 【JavaScript】window对象事件
    window对象-事件专用事件:onload事件:我们需要在网页文档下载完毕时执行的程序代码,需要放在onload事件处理程序中去编写。onunload事件:在网页文......
  • 【JavaScript】window对象_frames数组对象
    window对象的frames属性是一个数组,它与window对象的parent、top等对象属性,都是用于对HTML的帧标签(<frameset>或<iframe>)进行编程的javascript对......
  • 【WebLogic使用】5.WebLogic创建虚拟主机和绑域名
    一、创建虚拟主机启动WebLogic服务,登录到WebLogic的服务控制台:在主界面,我们选择左侧的选项栏中的“环境”-->“虚拟主机”选项:点击“新建”,进入新建......
  • 面向对象:添加删除和修改学生信息
    packagecom.itheima.test7;publicclassTest{publicstaticvoidmain(String[]args){//定义一个长度为三的数组Student[]arr=newStude......
  • laravel 创建控制器创建目录方法
    控制器  phpartisanmake:controllerAdmin\SystemController路由   Route::get('/sa','Admin\StudentController@chaxun');控制器  phpartisanmake:contr......
  • Eclipse maven 创建项目
    一:Eclipse  配置Maven1:Maven是什么Maven(opensnewwindow)是一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西。版本-maven有自己的版本定义和规......
  • 2023年春面向对象第一单元
    23年春面向对象第一单元分析与总结目录 前言 架构  解析方法  数据结构  类图分析 基于度量的程序结构分析 BUG分析 互测相关 总结前言OO第一单元......