学习日志(十六)

面向对象概述:

三大特性:

1.封装:用程序语言来形容对象

2.继承:复用封装对象的代码

3.多态:同样行为的不同表现

类和对象

1.类的概念

○具有相同特征和行为的一类事物的抽象

○类是对象的模板

○可以通过类创建出对象

○类的关键词是class

2.类和结构体的区别

结构体是值类型,而类则是引用类型

结构体使用栈存储,而类使用堆存储

结构体成员不能继承自其他类或结构体,也不能被其他类或结构体继承(即不具有继承的多态性),而类可以

结构体成员变量不能在声明时赋值初始值,而类可以

结构体没有默认的构造函数,添加构造函数时不能定义无参构造函数,只能定义带参构造函数;类有默认的构造函数,可以自定义无参构造函数或者带参构造函数

类是反映现实事物的一种抽象,而结构体只是包含了不同类别数据的一种包装

3.类声明的位置:

namespace语句块中

class语句块中(内部类)

4.类声明的语法

class 类名

{

//特征﹣变量成员

//行为﹣方法成员

//保护特征﹣成员属性

//构造函数和析构函数

//索引器

//运算符重载

//静态成员

class Person

{

}

// 实例化对象的形式与内存空间的关系

//没有分配堆内存,只是在栈中开辟了内存空间用于储存堆内存的地址,但地址为nu11

Person p0;

person p1 = null;

//分配了堆内存,栈中的地址不为nu11

Person p2 = new Person();

类的构造函数

1.概念

在实例化对象时会调用的用于初始化的函数

如果不写,默认存在一个无参构造函数

2.特性

普通构造函数在new一个新对象的时候会被调用

没有返回值

函数名和类名相同

没有特殊需求时一般都用public访问修饰符修饰

类的构造函数可以重载

如果自定义了带参的构造函数,则会失去默认的无参构造函数(可理解为被顶替了)

class Person

{

//变量成员

public string name;

public int age;

public float money;

//自定义构造函数可以重载

public Person(){

name="Jack";

age=18;

}

public Person(string name, int age){

this.name= name;

this.age=age;

}

}

构造函数的特殊写法:关键字this

后面加":this()"可以调用其他的同名重载构造函数,"()"内可以加变量

全部评论

相关推荐

2024-12-25 11:20
金陵科技学院 Java
淘天 后端java n+2.5(余杭房补)*16
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2024-12-13 16:47
公司里的人基本都结婚生子了,没什么共同话题,我对他们的老公孩子也不感兴趣,导致除了工作的事基本没什么话说,每天中午和部门一起吃饭都是闷头默默吃好痛苦 后来的新人很快就融入了她的部门,每天都有说有笑的,工作也不多,工资比我高,真的很羡慕她
蜂在图书:没事儿,先过好自己的生活,把工作的任务完成,不要内耗自己。下班以后可以多去玩一玩,跟自己的朋友家人多逛逛。职场上别看他们有说有笑,但其实他们也只是表面关系罢了。所以过好自己才是最重要的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务