栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

从零开始学Java--day07--面向对象(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从零开始学Java--day07--面向对象(一)

文章目录

前言一、面向对象概述

1.1 面向对象(OOP,Object Oriented Programming)1.2面向对象和面向过程的区别1.3 面向对象思想三大阶段1.4 面向对象三大特征 二、类与对象

1.1 什么是类1.2 什么是对象1.3 类与对象的关系以及先后1.4 类的设计1.5 对象的使用:1.6 实例变量和局部变量的区别1.7 this关键字的第一种使用方式 三、封装

1.1 封装思想1.2 四种权限访问级别: 四 、构造器

1.1构造器(构造方法)1.2构造器的注意事项:


前言

今天学习面向对象(很重要)。
今日内容:
1.面向对象
2.类与对象
3.三大特征–封装
4.构造器


提示:以下是本篇文章正文内容

一、面向对象概述 1.1 面向对象(OOP,Object Oriented Programming)

Java是"面向对象程序设计语言"

1.2面向对象和面向过程的区别

面向过程:强调的是"过程",往往关注事情"怎么做",比喻成"执行者",基本单位:函数(类似于Java中的方法)
面向对象:强调的是"对象",往往关注事情"找谁做",比喻成"指挥者",基本单位:类
面向过程和面向对象没有好坏之分,都是人们在生活中解决问题的手段之一:
在解决一些较小的问题时,往往选择"面向过程思想"
在解决一些较大的问题是,往往选择"面向对象思想"

1.3 面向对象思想三大阶段

面向对象基本思想(JavaSE)
面向接口思想
面向切面思想(真正的面向对象思想,手撕Spring框架源码)

1.4 面向对象三大特征

封装,继承,多态

二、类与对象 1.1 什么是类

类: 是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
属性: 就是该事物的状态信息。
行为: 就是该事物能够做什么。
代码如下(示例):

1.2 什么是对象

对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。

1.3 类与对象的关系以及先后

类是对象的模版,抽象
对象是类的实体,实例

类与对象的先后关系:
先类后对象

1.4 类的设计

类的设计:
设计过程:
1.根据类的属性信息和行为动作设计出基础的类
2.在类中加入"封装"思想
3.在类中加入"构造器"概念
4.在类中加入特殊(静态)的属性信息和行为动作
5.将类一拆为多,加入"继承"思想
6.解决继承思想的安全隐患,加入"抽象"概念
7.将多个类继续一拆为多,加入"接口"概念
8.在类或接口中加入"常量"概念
9.在类或接口中加入"嵌套"概念
10.在类中加入构造器代码块的概念
11.在类中加入静态代码块的概念
12.熟悉Java中特殊的类"枚举类"

分类:
测试类:
基于测试效果演示的类(含有main()或者@Test)
标准类:
将类完整的设计出来

解释:
属性信息 ==> 代码中的"成员量"
行为动作 ==> 代码中的"成员方法"

成员量:
成员变量: 在类中方法外的变量
实例变量: 在类中方法外,且没有static关键字修饰的变量,实例变量归属于"对象"
静态变量: 在类中方法外,且含有static关键字修饰的变量,静态变量归属于"类"
成员常量:

成员方法:
实例方法: 在类中没有static关键字修饰的方法,实例方法归属于"对象"
静态方法: 在类中含有static关键字修饰的方法,静态方法归属于"类"(暂不涉及)
格式:

public class 类名 {
   实例变量
   实例方法
}
1.5 对象的使用:

格式:

类名 对象名 = new 类名();

使用:

对象名.实例变量名;
对象名.实例方法名(实参);
1.6 实例变量和局部变量的区别

局部变量和实例变量的区别:
局部变量:声明在代码块中或者代码块声明上的变量
实例变量:声明在类中方法外,且没有static关键字修饰的变量

区别:

代码中声明的位置不同:
	局部变量:代码块中或者代码块声明上
	实例变量:类中方法外
内存中存储的位置不同:
	局部变量:栈内存
	实例变量:堆内存
是否含有默认值不同:
	局部变量:没有
	实例变量:含有
代码中变量的作用域不同:
	局部变量:所属方法中
	实例变量:所属类中(静态方法,静态常量,静态代码块,静态成员内部类中无效)
内存中变量的生命周期不同:
	局部变量:随着方法的调用而加载,随着方法的出栈而消失
	实例变量:随着对象的创建而加载,随着对象的回收而消失
加载方式和次数不同:
	局部变量:每调用一次方法,局部变量就会加载一次,最多可以加载无数次
	实例变量:每创建一次对象,实例变量就会加载一次,最多可以加载无数次

1.7 this关键字的第一种使用方式

this关键字的第一种用法:
位置:

  实例方法中或构造器中

格式:

 this.实例变量名;
 this.实例方法名(实参);

作用:

 用来区别同一个类中同名的实例变量和局部变量

含义:

 哪个对象调用了this所在的实例方法或构造器,this关键字就代表哪个对象
public class ClassDemo {
 	int num = 10; 
	public void method () { 
		int num = 20; 
		System.out.println("num = " + num);//就近原则 20 //需求:在打印20的同时,打印10 		   
		System.out.println("num = " + this.num); 
	}
}

结果是20 10

三、封装 1.1 封装思想

含义: 给程序中不同的内容添加不同的访问权限级别,从而达到保护的效果作用: 提供程序中内容的安全性核心: 封装思想的核心中是四种权限访问级别 1.2 四种权限访问级别:

权限访问级别从大到小的关系如下:
   public > protected > 缺省(sheng三声) > private

解释:
public: 公共的
protected: 受保护的
缺省: 什么都不写
private: 私有的

private关键字:

含义:
private关键字是封装思想的体现形式之一修饰:
用来修饰成员变量,成员常量,构造器,成员方法,成员内部类

私有实例变量:

含义:
被private修饰的实例变量

格式:
private 数据类型 变量名;

作用:
被private修饰的内容只能在本类中访问,从外界无法进行访问

应用:
1.将类中所有的实例变量的进行私有化
2.针对每个被私有化的实例变量都提供一对的公共访问方式:set()和get()

举例:去银行存钱和取钱
存钱的过程:需要带着钱(有参数),不用带着钱回来(无返回值)
取钱的过程:不需要带着钱(没有参数),带着钱回来(有返回值)
四 、构造器 1.1构造器(构造方法)

作用:
1.构造器中隐式的内容给对象进行成员初始化(day12讲解,实例初始化过程)
2.构造器中显式的内容给对象进行变量的赋值格式:

修饰符 类名 () {
     //隐式内容
     //显式内容
}
1.2构造器的注意事项:

1.构造器的名字必须和所在类名相同
2.构造器没有返回类型,而且连void都不能有
3.当一个类没有任何的构造器时,JVM自动给其分配一个public无参构造器,用来给对象的成员进行初始化,一旦这个类有任何构造器时,JVM不再给其提供
4.构造器支持重载
5.构造器中包含两个部分,显式部分和隐式部分,隐式部分代码优先于显式部分的代码


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号