Java09-面向对象-方法与类

方法

什么是方法?

方法就是具有一定功能的代码块。

为什么用方法

  1. 划分功能块(利于开发和维护)
  2. 可以让代码块重新执行
  3. 方法也是一种封装( 不问细节,只管调用)

方法的介绍 :

方法就是具有一定功能的代码块

注: java中我们叫方法, 叫其它语言中叫函数, 所以注意方法和函数是一个概念。

方法格式(语法)

 修饰符  返回值类型  方法名( 参数类型  参数名1 ,   参数类型  参数名2){
      //方法体
     return  返回值;
}

修饰符: 目前的修饰符,就写 public static

返回值类型 : 就是功能结果的数据类型, 没有返回用void 关键字

方法名: 给代码块取一个见名知义的名称,符合规则即可,方便进行调用。

参数:

​ 形式参数: 就是在方法定义上的参数, 用于接收实际参数

​ 实际参数: 调用(使用)方法时,实际进行参与的参数

​ 形参与实参的关系: 拷贝(复制)

参数类型: 数据类型

参数名 : 变量名

return : 结束这个方法;

注: 没有返回值,也可以使用return ,用: return; 表示结束方法。如:

public void show(){
	//方法体
    return;
}

方法的调用:

方法的调用:不调用方法,方法的代码就不会执行

如何调用方法:

方法名();

//有明确返回值的方法,单独调用没有任何意义
 
// 1. 单独调用没有任何意义
// zhaZhiJi("苹果");

// 2. 输出调用,但是这种方式也是最好的,因为不一定进行输出
System.out.println(zhaZhiJi("苹果"));
 
// 3. 赋值调用(推荐)
String str = zhaZhiJi("苹果");
System.out.println(str);

方法的分类

根据返回值,参数可以分四类:

无返回值无参函数

无返回值有参函数

有返回值无参函数

有返回值有参函数

写方法的一个原则: 高内聚,低耦合

方法的注意事项

  1. 方法不调用不执行
  2. 方法和方法是平级关系,不能嵌套定义
  3. 方法定义的参数用 “ , ”隔开
  4. 方法调用的时候传递的参数不用在前面写数据类型,直接写变量名( 实参不用写数据类型)
  5. 如果一个方法有明确的返回值类型,一定要用return带回一个值。如果是void,return可以省略不写
  6. 当方法的返回值类型是void的时候,只能单独直接调用
  7. 当我在调用一个方法的时候,这两个方法的局部变量没有任何关系

方法的重载(overload)

Java 允许方法名相同,但是参数类型不相同,或者参数的个数不同.。 这种就叫做方法的重载**(在一个类中)**。

方法重载与返回值类型,没有任何关系

class Student{
    public void show(){
		//方法体
    }
    public void show(参数类型 参数名){
		//方法体
    }
    public void show(参数类型 参数名,参数类型 参数名){
		//方法体
    }
}

面向对象

面向对象的介绍

OO (Object Oriented) : 面向对象

OOP(Object Oriented Programming): 面向对象编程

面向对象是一种思想. 以对象为基础

面向过程也是一种思想,以函数(方法)基础

面向过程与面向对象的区别

面向过程与面向对象都一种编程思想;

面向过程: 一步一步实现,具体功能步骤

面向对象: 创建类,根据类去new 具体的对象,然后调用对象的方法。

面向对象的特点

  1. 更符合我们的思考习惯
  2. 把复杂问题给简单化
  3. 让我们从执行者变成一个指挥者

对象太多了,每个实现不方便? 对对象进行划分类别(分类)

如何面向对象去开发?

有对象? -> 通过类, 生产去对象

​ 模型 创建具体对象

怎么去写类, 把相同对象的信息,行为给他抽象出来

类的内容有哪些呢? 信息和行为

如:

学生类

​ 信息: 姓名, 年龄, 地址, 家乡,学号,学校,专业

​ 行为: 上课,写作业

面向对象思想:

​ 写类 ( 信息和行为)

根据类如何产生对象:

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

类和对象的关系

类: 具有相同属性和行为一组对象的集合, 类是对对象的抽象

对象:是一个具体的事物。

类和对象的关系:

​ 类是对对象的抽象 ,对象是类的实例(具体的)。

类的组成:

​ 信息 ( 属性) - 变量

​ 行为 (方法) - 方法

创建类

语法:
修饰符 class  类名{
      // 属性
      // 方法
} 

// 修饰符 public : 公共的

**类名: 符合标识符的命名规则 **。
规范: 首字母大写,后面驼峰

注: 一个java文件中可以写多个类, 但是一个Java文件中,只能一个public 修饰的符, 并且 public 修饰的类名和文件名要一致

// 规范: 一个 java 文件只有一个类。

定义类的属性

修饰符	数据类型   属性名;
public int maxNum;

属性名	首字母小写,后面驼峰(小驼峰)

定义类的行为(方法)

修饰符  返回值类型   方法名(参数类型 参数名1,  参数类型 参数名2 .....){
   // 方法体
   return 返回值
}

方法名 首字面小写,后面驼峰(小驼峰)

如何创建对象

对象:是类的实例

怎么产生对象(new 一个)。

类相当于一个模型,new 类名()相当于根据模型产生的一个具体的对象。

类名  对象名  =  new  类名() ; 
//假设有一个学生类Student
Student stu = new Student();

//  new 对象时, 会给属性给默认值
//  基本类型
//  int byte  short long :  默认值  0
//  float  double 默认值 0.0
//  boolean 默认值  false
//	char  默认值  '\u0000'

// 引用类型( 默认值 : null)

获取对象的属性

对象名.属性名;

对象的属性赋值

对象名.属性名 = 值;

获取对象的方法

对象名.方法名();

成员变量与局部变量

以变量的位置进行分类:

​ 可以分为: 成员变量和局部变量。

成员变量: 类中方法外。

局部变量:在方法的内部(包括方法里,及方法的声明-形参)。

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

1. 在类中的位置不高
	成员变量:  类中方法外
	局部变量: 在方法的内部(包括方法里,及方法的声明-形参)

2. 作用的范围不同
	成员变量: 类中都可以使用
	局部变量:只有定义应该变量的方法可以使用
   
3. 在内存中的位置不一样
	成员变量: 在堆内存中
    局部变量:在栈内存中
    
3. 初始值不同
    成员变量:有默认初始化
    局部变量:没默认的初始化,必须赋值后才能使用
   
4. 生命周期不同
    成员变量: 随着对象的创建而存在,随着对象的销毁而销毁
    局部变量:随着方法的调用而存在,随着方法的执行完成而消失

匿名对象

平时对象再创建时,都会取一个名字

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

匿名对象概念: 就是没有名字对象

new 类名();
//不能单独使用

应用场景:

A: 调用方法,仅仅只调用一次的时候
	如: new Studnet().hello();
       
B:  可以作为实参进行传递
	xx.show(new Student());

注: new Student() 实际上是一个实例对象。

  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值