欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA学习19-面向对象编程的思想及方法定义和调用

程序员文章站 2024-03-25 23:55:40
...

面向对象编程

面向过程&面向对象

面向过程思想

◆步骤清晰简单,第-步做什么,第二步做什么....
◆面对过程适合处理-些较为简单的问题

面向对象思想

◆物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。

●面向对象适合处理复杂的问题,适合处理需要多人协作的问题!

◆**对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。**

什么是面向对象

面向对象编程(OOP)

本质:以类的形式组织代码,以对象的组织(封装)数据。

  • 抽象
  • 三大特性
封装

继承

多态
  • 从认识的角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象。

  • 从代码的运行来看先有类后有对象。类是对象的模板。

    方法的定义:

    修饰符  返回值类型  方法名(形参){
        方法体
        return 返回值;
    }
    
//类Demo01
public class Demo01 {
    public static void main(String[] args) {//main方法

    }
    /*
    修饰符  返回值类型  方法名(形参){
        方法体
        return 返回值;
    }
     */
    public  String sayHello(){
        return "hello world";
        //结束方法,返回结果
    }
    public void min(){
        return;//返回结果空
    }
    public int max(int a, int b){
        return a>b ? a : b;//三元运算
    }
}

方法的调用:

//静态方法 static
//调用的时候  类名.方法名
//非静态方法
//new一个实列化对象
//对象名 实例化对象名=new 对象名();
public class Student {
    //静态方法
    public static void say(){
        System.out.println("学生说话了");
    }
    //非静态方法
    public void eat(){
        System.out.println("他在吃饭");
    }
}
public class Demo02 {

    public static void main(String[] args) {
        //静态方法 static
        //调用的时候  类名.方法名
        Student.say();
        //非静态方法
        //new一个实列化对象
        //对象名 实例化对象名=new 对象名();
        Student student=new Student();
        student.eat();
    }
}
值传递
//值传递
public class Demo04 {
    public static void main(String[] args) {
        int a=1;
        System.out.println(a);
        Demo04.change(a);
        System.out.println(a);//走完之后还是1
    }
    public static void change(int a){
         a=10;
    }
}
引用传递
public class Demo05 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null
        Demo05.change(person);//张三
        System.out.println(person.name);
    }
    public static void change(Person person){
        //person是一个对象,
        person.name="张三";
    }
}
//创建了一个类,定义了一个属性
class Person{
    String name;//null
}
相关标签: java 笔记