java学习Day8

本文介绍了面向对象编程(OOP)的基本概念,包括面向过程与面向对象的区别。面向对象通过类和对象来组织代码,强调封装、继承和多态三大特性。文中详细讲解了方法的定义与调用,包括静态方法和非静态方法的使用场景,并通过实例展示了如何在Java中实现。面向对象编程适合处理复杂问题,而面向过程则适用于简单问题,理解两者在实际编程中的应用有助于提高代码组织和协作效率。
摘要由CSDN通过智能技术生成

初识面向对象(oop)

面向过程与面向对象

  • 面向过程(具体)

    • 步骤清晰简单,第一步做什么,第二步做什么……
    • 适合处理简单问题
  • 面向对象(抽象)

    • 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后才对某个分类下的细节进行面向过程的思索
    • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题
  • 对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理

程序中语句太多——>方法—+属性—>类

面向对象

本质

  • 以类的方式组织代码,以对象的形式封装数据

三大特性

  • 封装:把数据包装起来
  • 继承:子类,父类
  • 多态:同一事物,表现的形态可能不同

概念

  • 从认识论角度考虑是先有对象后有类。对象是具体的事物。类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑是先有类后有对象。类是对象的模板

回顾方法及加深

方法的定义

修饰符

返回类型

即使是void类型,也要有return,只不过后面不跟东西

break和return的区别

  • break:跳出switch,结束循环
  • return:方法结束,返回结果
public void hello(){
        return;
        System.out.println(1);//无效的表达式
    }

return后不能再输入语句,会报错

方法名

  • 见名知意

参数列表

  • 参数类型
  • 参数名

方法的调用

静态方法

  • 加static的方法
  • 不同类中调用直接 类名.方法名 即可调用
//学生类
public class Student {
    //静态方法
    public static void say(){
        System.out.println("学生说话了");
    }
}
public class Demo02 {
    public static void main(String[] args) {
        Student.say();
    }
}

在调用时 类名.方法名 即可调用

输出结果为

在这里插入图片描述

	public static void main(String[] args) {
        int i = Demo03.add(5, 78);
        System.out.println(i);
    }

    public static int add(int a,int b){
        return a+b;
    }

输出结果为
在这里插入图片描述

非静态方法

  • 不加static
  • 不同类中调用要先实例化
  • 调用时 对象名.方法名 即可调用
//学生类
public class Student {
    //非静态方法
    public void say(){
        System.out.println("学生说话了");
    }
}
public class Demo02 {
    public static void main(String[] args) {
        //实例化这个类 new
        //对象类型 对象名 = 对象值;
        //new Student().say();//new了一个Student的类,并把它其中的方法say调用了出来
        Student student = new Student();
        student.say();
    }
}

在调用时 对象名.方法名 即可调用

public class Demo02 {
    public static void main(String[] args) {
        //实例化这个类 new
        //对象类型 对象名 = 对象值;
        //new Student().say();//new了一个Student的类,并把它其中的方法say调用了出来
        Student student = new Student();
        student.say();
    }

    //static和类一起加载的
    public void a(){
        b();
    }
    //类实例化后才存在
    public void b(){

    }
}

若一个有static则无法调用

	public static void main(String[] args) {
        int i = new Demo03().add(5, 78);
        System.out.println(i);
    }

    public int add(int a,int b){
        return a+b;
    }

输出结果为

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值