——类和对象—java——

引言

java是一门存面向对象的语言,在面向对象的语言中一切皆是对象,主要是依赖与对象的交互实现目的,比如你要买个手机,在面向过程的语言中,你会为了买到喜欢的搜集去搜集各种资料,cup,屏幕,屏幕刷新率等等,而在面向对象的语言中,你只需要把你想要的手机的特点给一个人说,让后这个人就会给你买到你想要的手机,而不会有自己去搜集资料这个过程,而这个人也就是我们所说的对象

认识类

类的定义需要用的class关键字,类的基本形式为

一个类由 成员变量 和 成员方法俩部分组成 dog就是类的名字

类的实例化

用类创建对象的过程就叫做实例化

当我们创建好了一个类,那要怎么使用呢

对象是储存在堆区的,这里new的意思的以类Dog为模板在堆区上开辟个一个叫做hh的空间,将类的成员变量储存在堆区上,而类方法中的创建局部变量储存在栈上,可以使用 . 这个操作符号访问,hh.setNname()也就是访问Dog里面的setNmame这个方法,这里hh就是一个对象

类是一种自定义类型,用来描述一个变量(dog)

类就像是吧一个模板一样的东西,只有当他实例化对象的时候才会在内存上由实际的空间,才可以储存实际的信息

可以把一个类当作是一张蓝图,你可以用一张蓝图创建许多个建筑,也可以用一个类实例化许多个对象

this引用

当方法名中的变量和成员变量名字相同时,在调用时会优先 使用方法的变量,要特别指出使用类成员变量的话就要使用this关键字 

这里是局部变量age,给age自己赋值,而不是给成员变量赋值,所以输出为0 (为什么为0一会看狗构造方法)

this.xx就是特别引用类里的成员 或方法

this的特性

只能在成员方法中引用

在成员方法中只能应用当前对象(hh)

哪个对象调用就是哪个对象的引用类型

对象的构造和初始化

如何初始化对象

java中的局部变量都是要初始化才能正常使用的,而为什么在字段中并没有初始化,那为什么也能正常使用吗,那是因为在创建对象时,会自动编译器会自动调用构造方法去初始化变量

构造方法

用来初始化成员变量

特征 

和类名相同,不能由放回值,void也不能有,自会在对象的创建的时候调用一次,允许重载

若没有写构造方法,编译器会自动生成一个无参数的构造方法,将成员变量赋值为对应的0

允许重载,

可以使用this调用构造方法

this调用了 下面的那个构造方法 ,注意this必须写在第一句构造方法的第一句中

也不能形成上面调下面然后下面调上面的闭环

就地初始化

我们也可以在成员变创建时就给他赋值

封装

面向对象程序的3大特性:封装,继承,多态

封装,将数据和操作数据的方法进行结合,隐藏对象的属性和实现细节,仅对公开的接口来进行对对象的交互

用到4个关键字,private        default(什么都不写)        protected        public

访问权限由小到大

这里要引入包的概念

在编译器中生成的一个包也就是在该目录下生成一个文件夹

在生成java文件的目录下能找到选项package

在book这个包下生成的java文件也就是放在book这个文件中

包的导入

import关键字 

这个是Java自带的包 名字就直接是他们所在文件名字,在文件夹java中的util中的Date下

 包的自定义

这个包叫做book,里面有个类叫hhh

如果book这个包中有很多个类,我们都要用,一条一条的导入太麻烦了,这时

就可以用到通配符 * 导入这个包中的所有类,

但这样如果有相同的类名就会出问题,这需要特别小心

 

private 

只能在同一个包的同一个类里使用

也就是在同一个文件下,同一个类中,使用范围是最小的

当name被private修饰后不能在另一个类book中直接调用,而age的调用不受影响,那要如果要更改那么,就只有通过用public修饰的方法来间接赋值、

default

默认权限,在同一个文件下能直接访问

public

最大权限,不管是在哪里,只要是包含了这个包,就可以直接调用

在另一个包下,用import调用了这个包,创建对象后就能直接使用了

ed

就先写道着里,下一篇写static 代码块 

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值