1. 面向对象的编程思想: 面向对象的编程思想就是把一个事物看成一个整体,把这个事物中的属性(特征)和功能(方法)表述出来。
面向对象的编程思想更贴近于人的正常思维方式。
面向对象的编程思想来源于生活服务于生活。
面向对象的编程思想中,一定会用到面向过程(以流程为基本单位,注重最后结果。)的编程思想。有缺陷:功之间有很强的关联。不利于程序的维护和扩展。
面向对象的特征:抽象、封装、继承、多态。
2. 对象
在现实生活中,具体存在的一个事物。
在java编程中,万事万物皆对象。
特点:
在java编程中,无论两个事物多么相近或是相似,他们永远都是两个不同的对象。
各种法律、规则制度也是一种对象。
3. 抽象
在java编程中,抽象就是把同一个事物中,共同的属性(特征)和功能进行抽取、归纳、总结。
4. 封装
封装就是把抽取、归纳、总结的共同属性和功能进行包装,目的:保证抽取出来的数据的安全性。
封装就是包装的过程。
封装包括:
属性的封装
功能的封装
注意:封装不是绝对的封装,如果其他程序要访问已经封装好的数据,则需要通过程序指定的接口
和方法才能获取。
java中属性的封装和方法的封装是密不可分的,相辅相成的。 //
5, 类
java中类,是程序的核心。java程序中“万事万物皆对象!” 类是对象的模板和图纸!
类描述了对象的属性和功能,类是对象的模板,图纸。
对象是类的一个实例,是实实在在的个体。
对象是类的实体化,类是对象的抽象。
6, 方法
方法是实现某个功能的代码块。
方法的定义语法:
【访问修饰符】 void 方法名(){ }
说明:void就是表示该方法时无返回值的。
【访问修饰符】 void 方法名(){ }
无返回值无参数的普通方法。
【访问修饰符】 void 方法名 (数据类型 数据名){ }
无返回值的有参数的普通方法。
【访问修饰符】数据类型 方法名(){ return; }
有返回值有无参数的方法。说明:1返回值类型有返回值来决定。
2在有返回值方法中,最后一句代码一定是return返回值。
【访问修饰符】返回值类型 方法名(参数列表){ return返回值; }
7变量
变量分类: 基本数据类型变量 和 引用数据类型变量。
位置划分: 局部变量 全局变量(成员变量)
局部变量: 位于方法中(构造方法 / 功能方法)中的变量。注意:局部变量一定要初始化才能使用。
全局变量: 位于类中,任何方法或代码块的外部。全局变量(成员变量)==全局属性(成员属性)。注意:任何全局属性都不能直接在慢方法中使用。main
成员属性如果没有初始化,jvm会根据属性的类型来制动初始化。
初始化默认值:应用类型:null。数值类型:int 0、double 0.0。char 小写a。Boolean类型 false。
8对象(创建对象)
new关键字是创建对象的标识符。创建对象就是构造方法创建出来的。
构造方法的定义:
a构造方法的方法名和类名相同。
b构造方法的没有void和没有有返回值。
c构造方法不能被static来修饰。
构造方法语法:
【访问修饰符】 类名(参数列表){ }
构造方法的作用:
1 创建对象
2 为成员属性初始化
创建的对象的用法:
调用成员属性: 对象名.属性名;
调用方法: 对象名.方法名(参数列表);
构造方法分类:
有参构造方法 (隐式和显示)
无参构造方法
无参的构造方法又叫默认的构造方法,它又分为隐式构造方、显示构造方法。注意:当一个类中如果没有任何自定义的构造方法,jvm会制动默认一个隐式的构造法,
当类中如果有了一个自定义的构造方法,那么那个默认的隐式构造方法jvm将不再提供。
【】如果一个类中,已经存在了一个有参数的构造方法,那么还想通过无参的构造方法来创建对象,可以再建一个无参的构造方法。
9. 多态
多态 就是指通一种事物在不同的情况下有多种表现形式。
多态 的两种表现形式:
方法重载
方法重写
方法重载:
在同一个类中,有多个方法名称相同,但是参数不同,这就是方法重载。
说明:参数列表的不同包括:数据类型不同、长度不同、顺序不同。
注意:普通方法和构造方法都可以重载;方法重载会根据传递参数来决定用哪个方法。
参数返回值不同,其他的都相同是够不成方法重载的。
10. this关键字
适用范围:this关键字只能使用在没有被static关键字修饰的方法中。//(构造方法)
作用:this就是对当前某个对象的引用(简单的来说也就是可以把this关键字看做是当前类的一个对象。
那个对象调用当前的方法,this关键字就指向该对象。)
当局部变量和成员变量完全一致时,以局部变量为主。
用法一:
当方法中的参数名或者变量名和成员名完全一致时,可以通过this关键字来区分作用域。
用法二:
当thus关键字域this(参数列表)的形式,出现在构造方法的第一句代码时,就表示当前构造方法调用了
该类中其他的构造方法。
11.方法中参数的传递
在java中无论是基本数据类型还是引用数据类型,在进行参数传递时,都是采用的值传递(也就是传递的都是具体的数据)。
基本数据类型:在进行参数传递时,传递的是值得副本(也就是说把当前数据复制了一份,然后再进行传递,所以目标方法中,
对参数进行修改,这个值得本身没有任何变化)。
引用数据类性:在进行参数传递时,传递的是数据所在的内存地址,所以 在目标方法中,对参数进行修改,这个值得本身也会
发生变化。
12 包(package)
目的:
为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,java引入了包(package)。
用package来声明包,package语句必须是java源文件中的第一条语句。 在package语句中,用" . "来指明包(目录)的层次。
创建 包 的语法:
package 包名; 在当前目录下生成带包结构的字节码 。
编译:javac -d D:\ Test1.java
java :包名.类名
java 包名.Test1
导包:import
语法:import 包名.类名/*; import 空格 包名 点 类名或者 空格 分号
注意:import导包一定要位于package语句的下边。
13 代码执行的顺序
普通方法之间的调用,在大括号里直接写 方法名(参数) 即可。
首先:main方法开始执行———>然后普通方法执行
14. jdk包的说明
java.lang包里存放的是java的核心类,因为该包中的类使用非常频繁,所以在任何包类中使用java.lang 包中的类都无需导包。
java面向对象(上)结束。
小知识:OOP:面向对象编程
OOA:面向对象分析
OOD :面向对象设计