一、面对对象
-
什么是面向对象?
-
关注的焦点是类(结果):在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,用类来表示。
-
面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了。
-
-
什么是面向过程?
-
关注的焦点是过程:过程就是操作数据的步骤。如果某个过程的实现代码重复出现,那么就可以把这个过程抽取为一个函数。这样就可以大大简化冗余代码,便于维护。
-
-
-
面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。
-
总结:Java是一门面向对象的编程语言;我们使用Java做开发,实际上面向过程结合面向对象
二、类和对象
前言:Java是如何实现面向对象的
封装、继承、多态
-
什么是类?
-
-
具有相同特征的事物的抽象描述,是抽象的、概念上的定义。
-
class 类名{ 属性; 行为; }
-
什么是对象?
-
-
对象,实际存在的该类事物的每个个体,是具体的,因而也称为实例(instance)。
-
就是干活的那个
-
-
Java如何表示对象
-
-
初始化的那个引用类型变量,该变量都是对象
-
类 对象名 = new 类名();//其实就是以前我们针对引用类型,所定义出来的变量
三、类的成员概述
-
属性(变量)
-
-
实例变量:
-
什么是实例变量
-
-
只有对象才能使用的变量,才能被称为实例变量;
-
-
定义成员变量
-
-
位置:类中,方法外
-
格式:数据类型 变量名;
-
class Phone{ //品牌 String brand; //价格 double price; }
-
-
使用成员变量:
-
public class Demo { //成员变量 int b = 22; //定义 public static void main(String[] args) { int a = 13; System.out.println(a); //直接输出 //只有对象才能使用实例变量 System.out.println(b); Demo d = new Demo(); //创建一个对象输出 System.out.println(d.b); } }
-
-
-
-
静态变量
-
什么是静态变量
-
-
-
可以通过类直接使用,也可使用对象使用
-
-
注意:如果是在通过一个类中使用,可以省略类名
-
-
-
定义成员变量
-
-
-
-
位置:类中,方法外
-
格式: static 数据类型 变量名;
-
class Phone{ //品牌 static String brand; //价格 static double price; }
-
-
-
使用成员变量
-
-
赋值:
-
-
类名.变量 = 数值;
-
-
取值
-
-
直接取值:System.out.println(类名.成员变量)
-
赋值取值: 变量 = 类名.成员变量
-
-
-
静态变量和实例变量区别
-
-
定义格式不一样
-
生命周期不一样
-
存储的位置不一样
-
共享的;静态的内容
-
-
成员变量和局部变量区别
-
-
在类中位置不同
-
-
成员变量:类中方法外
-
局部变量:方法中或者方法声明上局部变量
-
-
-
-
-
-
3.局部变量:
-
-
作用范围不一样(和成员变量)
-
-
-
成员变量:类中
-
局部变量:方法中
-
-
-
-
-
-
初始化值不一样:
-
-
-
-
成员变量:有默认值
-
局部变量: 没有默认值,需要手动赋值
-
内存位置不一样
-
-
-
-
成员变量:堆区
-
局部变量:栈区
-
-
生命周期不一样
-
-
-
-
成员变量:随着对象的创建而存在,随着对象的消失而消失(静态变量是随类)
-
局部变量:随着方法的调用而存在,随着方法的消失而消失
-
-
-
-
-
-
-
-
-
方法(行为)
-
-
方法概述:
-
功能
-
就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。、
-
方法是管理代码的
-
我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。
-
简单来说Java方法是语句(代码)的集合,它们在一起执行一个功能。
-
两类
-
-
静态方法
-
实例方法(成员方法)
-
-
-
静态方法:
-
定义静态方法
-
位置:类中
-
格式:
public static 返回值类型 方法名(参数类型){ 方法体;}
-
定义格式解释:
-
-
修饰符: 目前固定写法 public、static
-
返回值类型: 方法运行完后,如果产生一个,那么就需要在返回值类型处,定义一个变量,结果的数据类型,如果该方法没有返回值,那么请声明为void
-
方法名:满足标识符的规范,用来调用方法。
-
参数列表:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
-
-
外部的数据,想要进到你定义的方法内。就需要在参数类型处定义变量
-
-
-
定义方法练习
-
-
需求:定义一个方法,键盘录入两个整数相加
-
总结
-
-
方法的定义可以分为四种
-
-
无参无返
-
无参有返
-
有参有返
-
有参无返
-
-
方法是灵活的,同样的需求,可以采用不同的定义方式
-
返回值类型和return问题
-
-
-
返回值类型
-
-
有返回值类型的方法,使用灵活,但是不方便
-
没有返回值类型的方法,使用方便,但是不灵活
-
-
return
-
-
有返回值,必须加rerun
-
-
-
-
-
-
成员方法:
-
静态方法多个static
-
-