2021-05-23

本文详细介绍了Java的面向对象特性,包括类、对象、属性、方法的定义与使用,以及构造方法、封装、继承和多态的概念。此外,还讲解了成员方法、成员变量的作用域,以及包的管理和静态关键字的应用。内容涵盖了类的创建、对象的实例化,以及如何通过setter/getter方法实现数据访问控制。最后,讨论了包的组织和静态变量与方法的使用。
摘要由CSDN通过智能技术生成

                                                                  面向对象基础

1.1面向对象的基本概念

1.面向对象

java语言是一种面向对象的语言,面向对象是一种直观而且程序结构简单的程序设计方法,它比交复合人类认识现实世界的思维方式,

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

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

2.对象

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

3.类

类是具有相同属性和方法的一组对象集合.

类定义了对象将会拥有的属性(属性)和行为(方法)

类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象时一个类的实例。

1.2定义类

1。定义类的语法格式如下。

[访问修饰符]class类名{
//省略类的内部具体代码
}

访问修饰符如public、private等是可选的

class是声明类的关键字

按照命名规范,类名首字母大写。

2.属性

java中类的内部包含属性和方法。对象所拥有的特征在类中表示时称为类的属性。

定义属性的语法格式如下

[访问修饰符]数据类型 属性名;

访问修饰符是可选的

除了访问修饰符之外,其他的语法和声明变量类似。

3.方法

语法格式如下

[访问修饰符] 返回类型 方法名称(参数类型 参数1,参数类型 参数2,......){
//省略方法体代码
}

1.3创建和使用对象

1.创建对象

创建对象的语法格式如下

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

new是关键字

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

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

2.使用对象

zaijava中,要引用对象的属性和方法,需要用   “."。

语法格式如下

对象名.属性    //引用对象的属性
对象名.方法名()     //引用对象的方法

3.对象数组

对象数组的数据类型就是具体类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象,当数据下标找到某个元素时,可以按照对象的使用方法来使用该元素。

2.1成员方法

1.带参数的方法

带参数的work()方法可以接受用户输入的内容。创建work()方法时定义的参数交=叫形式参数,简称形参。调用方法时传入的参数叫做实际参数,简称实参。

2.方法重载

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。

方法重载的特点

1)在同一个类中

2)方法名相同

3)参数的个数或类型不同

4)方法的返回值不能作为判断方法之间是否构成重载的依据

2.2成员变量

1.成员变量作用域

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

2.局部变量作用域

局部变量就是定义在方法中的变量

3.数据类型

在Java中变量的类型分为两种:一种是基本数类型,还有一种叫做引用数据类型。

java中的引用数据类型包括3种:类、数组和接口

2.3构造方法

1.构造方法的定义

构造方法的作用主要作用是进行一些数据的初始化。语法格式如下

[访问修饰符]方法名([参数列表]){
//......省略方法体的代码
}

1)构造方法没有返回值

2)默认构造方法没有参数,因此参数列表可选

3)构造方法的方法名和类名相同。

2.构造方法重载

构造方法同样可以重载,即在同一个类中可以定义多个重载的构造方法。

3.1封装概述

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

3.2封装的步骤

1.修改Person类中的属性由public修饰改为private即可。

2.设置setter/getter()方法

可以手动添加setter/getter()方法,也可以使用组合键Ctrl+Shift+S由系统添加。

3.设置属性的存取限制

没有对属性值设置合法性检查,需要在setter方法中进一步利用条件判断语句进行赋值限制。

4.1包的概述

java中的包机制也是封装的一种形式

包主要有以下3个方面的作用

1)包允许将类组合成较小的单元,易于找到和使用相应的类文件

2)防止命名冲突:java中只有在不同包中的类才能重名。不同的程序员命名的类在所难免。

3)包允许更广的范围内保护类、数据和方法。根据访问规则,包外的代码有可能不能访问该类。

4.2包的定义

package包名

1)package是包名

2)包的声明必须是Java源文件中的第一条非注释性语句,而且一个源文件只能有一个包声明语句,设计的包装需要与文件系统结构相对应。因此,在包命名时要遵守以下编码规范

一个唯一大的包名前缀通常时全部小写的ASCII字母,并且是一个顶级域名com、edu、gov、net及org通常使用组织的网络域名的逆序。

包名的后续部分依不同机构各自内部的规范不同而不同。

4.3包的使用

使用包将Person类和PersonTest类进行分类。

5.static

1.用static关键字修饰属性

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

2.用static关键字修饰方法

用static修饰的方法称为静态方法或者类方法,不用static关键字修饰的方法称为实列方法

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值