第五章 java 面向对象(上)

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 :面向对象设计



 










  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiangjin333666

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值