类和对象

简介: 类和对象

构造方法


  • 类创建对象时,需要使用构造方法完成对象的初始化工作
  • 构造方法的名称必须与类名相同
  • 构造方法没有任何返回数据类型
  • 如果类定义中显式地给出了构造方法,系统就不会再提供默认的构造方法。
  • 一个类中可以有若干个构造方法(名称相同),但是构造方法的参数必须不同
  • 如果类中没有构造方法,系统为类定义一个默认的构造方法,该构造方法没有参数,类体为空


对象的创建


对象的声明:类的名字 对象名字;

例如:Circle cir 此时cir是一个空对象,它不能访问成员变量和成员方法

创建对象:对象名=new 构造方法名(参数列表)

cir =new Circle();

cir =new Circle(666);

也可以把声明对象和创建对象合在一起进行

Circle cir= new Circle(666);


对象的使用


通过使用运算符“.”,对象可以实现对自己的成员变量和成员方法的访问

• 对象引用(名).成员变量

• 对象引用(名).成员方法


成员变量

💗实例变量

1.不用关键字static修饰

2.一个类中不同对象的实例变量将被分配不同的存储空间

3.只能通过对象访问实例变量

💗静态变量(类变量)

1.用关键字static修饰

2.一个类中所有对象的某个静态变量被分配同一个内存,所有对象共享这个静态变量

3.可以通过类名访问静态变量,也可以通过某个对象访问静态变量

💗final成员变量

1.如果一个成员变量修饰为final,就是常量(常量的名字一般大写)

2.如果final变量是简单类型,则其值不能发生变化

3.如果final变量是复合类型,则其指向对象的引用不能发生变化


成员方法

💗构造方法

1.供类创建对象时使用,给出类所创建的对象的初始状态

2.对象不可以调用构造方法

💗一般方法

1.方法声明和方法体

方法类型方法名(参数列表)   //方法声明{
方法体的内容//方法体}

2.实例方法和类方法

实例方法:方法声明中不用static修饰,必须通过对象来调用

类方法(静态方法):方法声明中用static修饰,可以通过类名调用


3.参数传值

♛基本数据类型参数的传值

实参和形参占有不同的内存空间,形参的改变不影响实参

实参的级别要低于形参的级别

♛引用类型参数的传值

引用类型数据包括对象、数组以及接口和泛型等

实参和形参指向共同的内存

改变形参引用的实体,会导致实参引用的实体发生同样的变化


方法过载

方法过载定义:方法过载是多态性的一种,是指一个类中可以有多个方法具有相同的名字,但是,参数数量不同或者参数类型不同

-*方法的类型和参数的名字不参与比较


this关键字

♛this可以出现在实例方法和构造方法中,但是不可以出现在类方法中。

① 在构造方法中使用this:代表使用该构造方法所创建的对象

② 在实例方法中使用this:代表使用该方法的当前对象,this可以省略

③ 使用this区分成员变量和局部变量 (在这里,局部变量是指在成员方法的参数列表或者在方法体中定义的变量)

(1)如果成员变量和局部变量名称相同,则成员变量被隐藏,即成员变量在方法内暂时失效

(2)如果想在方法中使用成员变量,对于实例方法,应使用“this.成员变量”,对于类方法,应使用“类名.成员变量”

(3)this不能省略


目录
相关文章
|
1月前
|
编译器 C# C++
【C++】类和对象(四)
【C++】类和对象(四)
|
6月前
类和对象(下)
类和对象(下)
|
24天前
|
存储 编译器 C语言
【c++】类和对象(一)
朋友们,大家好,本篇内容我们来对类和对象进行初步的认识
|
1月前
|
存储 编译器 C语言
【c++】类和对象1
【c++】类和对象1
22 1
|
2月前
|
C++
C++类和对象
C++类和对象
20 0
|
4月前
|
存储 编译器 C语言
初识【类和对象】
初识【类和对象】
|
5月前
|
存储 编译器 C语言
类和对象(一)
类和对象(一)
|
5月前
|
存储 编译器 C语言
C++类和对象(中)
C++类和对象(中)
|
6月前
|
存储 编译器 C++
【C++】类和对象(三)
类和对象(三) 拷贝构造函数: 当我们想要将一个已确定的类变量的值拷贝给另外一个相同类型的类变量,有什么快捷的方法吗?
20 0
|
8月前
|
编译器 C语言 C++
【类和对象(上)】(一)
【类和对象(上)】(一)
56 0