面向对象编程

1面向对象:

基本思想是把问题看成是若干个对象组成的,这些对象之间是独立的,但又可以相互配合 连接 和协调,从而共同完成整个程序要实现的任务和功能。

面向对象的三大特征: 封装 继承 多态。

 

2对象

对象是用来描述客观事物的一个实体。

 

3

类是具有相同属性和方法的一组对象的集合。类定义了对象将会有的属性(特征) 和方法(行为)。

类与对象的关系  抽象与具体。

 

定义类

 

【访问修饰符】class 类名{

  //省略类内部的具体代码

}

访问修饰符可选

类名首字母应大写

 

属性

类的内部主要包含属性和方法 对象的特征在类中表示称为类的属性

定义属性:

【访问修饰符】数据类型 属性名

public String name;

方法

对象执行操作的行为成为类的方法。

[访问修饰符】返回类型 方法名称(参数类型  参数1,参数2.。。){

   //方法体          

}

访问修饰符可选

Void 表示没返回值 不必用return 返回具体数据 但可以用return 关键字退出方法

返回类型不为void 一定要用return返回对应类型的结果

public void work(){

Syso

}

创建和使用对象

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

左边的  类名  为对象的数据类型

右边的类名()  称为类的构造方法

Person hanbing=new Person();

使用对象

引用对象的属性和方法需要使用 .

对象名 点  属性

对象名  点 方法

对象数组

对象数组的数据类型就是具体的类名 对象数组内存储的就是这个类的对象  

每个数组元素就是一个对象 当根据下标找的某个元素时 可以按照对象的使用方法来使用该元素

成员方法

类成员主要包含成员方法和成员变量

带参数的工作方法

带参数的work()方法可以接受 用户输入 的内容  

创建work()方法时定义的参数叫做形式参数,简称 形参

调用方法时传入的参数叫做实际参数 ,简称 实参

方法重载

特点:

在同一个类中 方法名相同 参数的个数或类型不同

成员变量

1作用域

类中的属性,也就是直接在类中定义的变量,称作成员变量,它定义在方法的外部

2成员变量可以在声明时赋初值

局部变量

定义在方法中的变量

局部变量在使用前需要赋初值

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

1作用域不同

局部变量的作用域仅限于定义它的方法

2初始值不同

Java 可以给成员变量赋初值 但是不会给局部变量赋初值,因此局部变量必须要定义赋值后再使用

3局部变量可以和成员变量同名 并且在使用时局部变量有更高的优先级

数据类型

变量的类型有 基本数据类型和 引用数据类型

引用数据类型有三种:类 数组 接口。

引用数据类型和基本数据类型在传参时的区别

对于基本数据类型 改变一个变量的值不会影响另一个变量的值

对于引用数据类型  赋值指向同一个内存空间  两个一起变

构造方法

主要作用是进行一些数据的初始化

【访问修饰符】方法名 (【参数列表】){

//省略方法体

}

参数列表可选

构造方法的方法名与类名相同

当开发人员没有编写自定义构造方法时 java会自动添加默认构造方法 默认构造方法没有参数

如果自定义了一个或多个构造方法 java不会自动添加默认的构造方法

构造方法的重载

 

this关键字的用法

书上:

因为this是在对象内部指代自身的引用,所以this只能调用实例变量 实例方法 和构造方法

This不能调用类变量和类方法 ,this也不能调用局部变量

封装概述

封装

实质就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

 

封装的步骤

1修改属性的可见性

Person类中的属性由public 改为private即可

  将public改为private后,其他类就无法访问了 如果要访问需设置setter getter 方法

2设置setter getter方法

3设置属性的存取限制

包的作用

Java中只有在不同的包中  类才可以重名

package 包名;

包的命名规则

一个唯一的包名前缀常是全部小写的ASCLL字母,并且是一个顶级域名com edu gov net org

通常使用组织的网络域名的逆序 列:入过域名为javagroup.net, 包可以为

Package net javagroup.research.powerproject;

package cn.bdqn.pack1;

包的使用

1声明包的含义是声明当前类所处的位置

2导入包的含义是声明当前类中要使用到的其它类所处的位置

 

 

 

同一类

同一包

子类

其它地方

private

可以

不可以

不可以

不可以

默认修饰符

可以

可以

不可以

不可以

protected

可以            

可以

可以

不可以

public

可以

可以

可以

可以

 

 

Static关键字

使用static 可以实现通过类名加  .点  直接调用类的成员 不需要创建类的对象 。使用static修饰的属性和方法属于类,不属于某个具体的对象

1 static 修饰的属性称为静态变量或者类变量 没有使用static修饰的属性称为实例变量

2  static修饰属性最常用的场景就是定义使用final关键字修饰的常量

修饰方法

Static 修饰的方法称为静态方法或者类方法  不使用ststic关键字修饰的方法称为实例方法

提示

在静态方法中不能直接访问实例变量和实例方法

在实例方法中可以直接调用类中定义的静态变量和静态方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值