笔记Day_06

面向对象思想

思想决定行为
	面向对象决定了java的代码的编码方式
	
编程思想:
	面向过程:凡事必躬亲,一步一步的去完成 ->c语言
	面向对象:自己的事情别人做 -> 懒人思维
	面向函数:忽略对象,只要能把事情完成不在乎谁来 --> Lambda
面向对象思想的特性:封装 继承 多态
面向对象思想的特点:
	1.符合正常的思维
	2.让复杂的事情简单化
	3.让我们从执行者变成调用者
	
洗衣服:
	面向过程: 泡一泡 -> 扭一扭 -> 揉一揉 -> 晾一晾
	面向对象:打开洗衣机 -> 衣服丢进去 -> 开开关  对象:洗衣机
	
买电脑:
	面向过程:打车去广埠屯 -> 和老板讨价还价 -> 组装 -> 打车回家
	面向对象:打开京东APP -> 选电脑 -> 下单 -> 对象:京东
	
服务员点单: -> 对象:服务员
万物皆对象

面试环节如何回答面向对象的理解:
	java语言是以面向对象思想为核心的编程语言,面向对象思想更符合我们平时的思维习惯,把复杂的事情简单化,把我们以执行者变成指挥者,在Thinking in Java这本书中有万事万物皆对象的描述,世间万物皆可是我们调用的对象.比如说面试官您面试这个事情就涉及到了面向对象思想.面试官您面试肯定是因为公司项目上有了更多的需求需要完成,以您的实力完全可以一人完成,但是您有更多重要的工作去协调,所以老板使用了您面试的功能来招聘一些具备开发功能的人列如我.帮助您完成任务.--->在代码中的应用.
	

类和对象的关系

:class -> 种类,类别 -> 一类事物 -> 范围
	类是事物的抽象
对象: 此类事物中具体的那一个

类是事物的抽象,对象是此类事物的具体化! -> 我们使用的是对象

现有类,再有对象

如何定义描述类

在事物描述类中千万不要写方法:

格式:
	public class 类名{
    	//属性 -> 成员变量:定义在类中方法外的变量
        
        //行为 -> 成员方法: 定义在类中方法外的方法(方法内不能定义方法) -> 所有方法都是成员方法
	}

列如: 学生事物
	public class Student{//你要描述什么事物,类名就写什么.见名知意,类名大驼峰式命名
	//属性:成员变量
	String name;
	int age;
	//属性只需写你需要使用的 -> 根据需求来

}

如何创建对象

格式:
	类名 对象名 = new 类名();

new:
	1.在堆内存中开辟空间
	2.创建对象
	
对象名: 对象名接收的是对象在堆内存中的地址值 -> 引用

对象创建完毕,对象可以调变量  可以调方法 -->: .
  	调对象属性/方法
格式:
	对象.属性名 -> 访问属性
	对象.属性名 =; -> 给对象的属性赋值
		//每个对象都有自己的一套属性
		
		对象.方法名(实际参数) -> 调用对象的行为 (如何调用:由方法的返回值类型决定)
        //对象.方法是为了告知是谁在做这个

成员变量和局部变量的区别

1.在类中的位置不同
2.作用域不同
3.在内存中的位置不同
4.默认初始化值不同
5.生命周期不同
	因为在类中的位置不同导致 在内存中的位置不同 和 作用域不同
	因为在在内存中的位置不同 导致在默认初始化值不同 和 生命周期不同

变量访问遵循就近原则

范围大小
远 --> 近
父类中的变量 > 本类成员位置 > 局部位置

this

1.调用本对象中的成员变量(属性)和方法
2.当方法中形参名和下面定义的局部变量名相同时使用
3.当构造方法中的 形参名和下面定义的局部变量名相同时使用
格式:
	this.属性  
	哪个对象调用 就是哪个对象的属性

private

权限修饰符:pravate < 缺省 < protected < public
    private 只能修饰 属性(成员变量) 和方法
    private 修饰的  只能在本类内使用
    public 修饰的 能在同一个模块内使用
    不同包内就得导包 ---> import
    java.lang.下的常用类可以不用导包 列如:System类 String类 Math数学工具类
    

getter and setter 方法

快捷键:
Alt + Fn + insert

构造方法

格式:
	权限修饰符 方法名(形参列表){
			方法体;
    }
作用:构建创造对象的方式
对象的创建
 类 对象 = new(形参列表);
new:
	1.创建对象 
	2.在堆内开辟空间
	3.调用了构造方法 
				调用构造方法-->就是在创建对象
注意 :
	1.定义一个类  jvm会默认送一个空参构造器
	2.当自己定义了构造器的话 jvm就不会送构造器了
	3.javabean里面一般定义一个无参的 和一个全参的构造器
	4.构造器也可以重载
	5.构造器里面可以调用构造器 
		this(形参列表);的方式调用本类中其它的构造器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值