面向对象 概念
万物皆对象,对象包含现实纯在的 列如:名胜古迹,宠物猫咪,一件衣服,电脑,父母兄弟…
什么是面向对象 字面理解与对象面对面 人关注对象
从计算机的角度 人关注事物信息
类和对象 -类是模子,确定对象将会拥有的特征(属性) 和行为 (方法)
属性和方法 -属性:对象具有的各种静态特征
-方法: 对象具有的各种动态行为
类和对象的关系 类(虚拟的) -抽象的概念 -模板
对象(由类产生的) -一个可以看得到,摸的着的具体实体
类 —>实例化—> 对象 根据程序需求先创建类 实例化对象 完成具体的程序
创建ObjectProj跟面向对象相关的工程
单一功能原则 每个类实现的功能单一具体化
实例化对象的过程可以分为2部
-声明对象 Cat one
在内存的栈空间里开辟区域 one 里面目前是空区域 在添加属性及方法
-实例化对象 new Cat();
在内存的堆空间里开辟空间 完成对象具体相关信息的初始化操作
这两个空间是通过赋值符号 = 来关联起来的
通过new 对象实例化可以开辟出新的内存空间 指向不同的区域Cat one = new Cate(); Cat two = new Cate();
如果想指向同一个区域 就用赋值Cat two = one;
public static void main(String[] args) {//实例化对象Cat one = new Cat();Cat two = new Cat();one.name = "凡凡";System.out.println("名字:"+one.name);one.run(one.name);System.out.println("--------------");two.name = "花花";System.out.println("名字:"+two.name);two.run(two.name);}
代码结果
名字:凡凡
凡凡小猫快跑
名字:花花
花花小猫快跑
new 关键字的好搭档 构造方法
构造方法
1构造方法与类同名且没有返回值
2构造方法的语句格式 public 构造方法名(){ //初始化代码 }
记住: 没有返回值类型 与类名相同 可以访问修饰符 ()可以指定参数
3只能在对象实例化的时候调用
4当没有指定构造方法时,系统会自动添加无参的构造方法
5当有指定的构造方法,无论是有参还是无参的构造方法,都不会自动添加无参的构造方法
this关键字
this:当前对象的默认引用
this的使用
-调用成员属性,解决成员属性和局部变量同名冲突
注意:
有参构造方法中利用this();调用无参构造方法
请注意 一定要放在第一条!!!