博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java自学笔记(第五天)面向对象--char[]和String--封装--构造函数--this
阅读量:4540 次
发布时间:2019-06-08

本文共 1046 字,大约阅读时间需要 3 分钟。

//面向过程的思想就是只有动词,面向对象的思想就是名词+动词

冰箱.打开

冰箱.存储

冰箱.关闭

//名词提炼法

//面向对象的三个特征:封装,继承,多态

(*)类和对象的关系

类:对事物的描述(属性,行为)(成员变量,成员方法)

对象:事物实体(值,具体做法)

/*

(*)(*)Java中没有string关键字,而String是字符串类

(*)(*)char[]和String互转:

*/

//对象.对象成员

//每个new都生成一个新对象,并在堆内存中分配空间

(*)成员变量和局部变量

成员变量作用于整个类中,局部变量作用于函数中,或者语句中。

成员变量在堆内存中,因为对象的存在,才在内存中存在。局部变量存在于栈内存中。

//匿名对象

使用方式一:当对象的成员变量或方法只调用一次时,可以用匿名对象来完成,这样写比较简化

使用方式二:可以将匿名对象作为实际参数进行传递----------如下图所示

 

(*)封装:指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

好处--将变化隔离,便于使用,提高重用性,提高安全性。

原则--将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。

//函数就是最小封装体,类也是封装,包也是封装,框架是封装。

//访问修饰符:private同类中可以访问,被private私有化的类成员不能被对象调用

(*)私有仅仅是封装的一种表现形式

(*)构造函数:new的过程就是调用类的构造函数,分配堆内存空间,给成员变量赋初始值,没有赋值就是默认值

//当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数。

//当类中定义构造函数时,系统不会默认给一个空参数构造函数。

(*)new ,(Person p = new Person(10,"abc");)意思就是在堆内存中new一个新的Person类型空间,并把()中的参数值,赋于相对应的成员变量。()无参数就是赋默认值。

//构造函数只在new的时候运行一次

//构造代码块:给对象进行较统一格属性的初始化,优先于构造函数执行,在任意构造函数执行时执行并最先执行,也就是在new对象的时执行

(*)this-关键字:就是这个对象(实例),调用方法的对象(实例)。代表它所在函数所属对象的引用。

//构造函数间的相互调用用this,this()需在第一行

转载于:https://www.cnblogs.com/yangyujoe/p/4012455.html

你可能感兴趣的文章
jquery 对象与DOM对象转换
查看>>
DELPHI 调用系统 ADO 配置窗体 提高软件易用性
查看>>
Mongodb 命令及 PyMongo 库的使用
查看>>
div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法(非原创)
查看>>
关于SDWebImage加载高清图片导致app崩溃的问题
查看>>
如何查看方法在哪里被调用
查看>>
HUE的自动化安装部署
查看>>
图片服务器(FastDFS)的搭建
查看>>
myBatis应用
查看>>
RuntimeError: DataLoader worker (pid 18255) is killed by signal: Killed.
查看>>
[PHP] 用AppServ一步到位安装PHP服务器
查看>>
mac brew install redis 报错
查看>>
Work? working!
查看>>
开源收藏
查看>>
scipy插值interpolation
查看>>
C# BackgroundWorker
查看>>
移动对meta的定义
查看>>
leetcode 76. Minimum Window Substring
查看>>
如何用Eclipse打jar包
查看>>
学习是一种投资
查看>>