Day12-面向对象初识

面向对象编程

Java的核心思想就是OOP

一.面向过程&面向对象

面向过程思想:

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

面向对象思想:

  1. 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索
  2. 面向对象适合处理复杂的问题,适合处理需要多人协作的问题

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

二.什么是面向对象

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

面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据

抽象

三大特性:

  • 封装
  • 继承
  • 多态

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

从代码运行角度考虑是先有类后有对象。类是对象的模板。

三.方法回顾

1.方法的定义

package oop;

//demo01  类
public class demo01 {

    //main方法
    public static void main(String[] args) {

    }

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

2.方法的调用

package oop;

public class demo02 {
    public static void main(String[] args) {
        Student.say();

        //非静态方法无法直接调用
        //实例化这个类  new
        //对象类型  对象名字=对象值
        Student student = new Student();
        student.say1();

    }
    //和类一起加载的
    public static void a(){
        //b();无法调用,报错
    }
    //类实例化之后才存在
    public void b(){

    }
}


package oop;

//学生类
public class Student {

    //静态方法
    public static void say(){
        System.out.println("学生说话了");
    }

    //非静态方法
    public void say1(){
        System.out.println("学生说话了");
    }
}

3.实参和形参

package oop;

public class demo03 {
    public static void main(String[] args) {
        //形式参数与形式参数的类型要一一对应
        int add = demo03.add(1, 2);
        System.out.println(add);
    }

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

4.值传递和引用传递

package oop;

//引用传递:对象,本质还是值传递
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 person = new person();这是一个具体的人,可以改变属性
        person.name="LiLiLiYH";//LiLiLiYH
    }
}
//定义了一个person类,有一个属性name
class person{
    String name;//null
}

posted @   LiLiLiYH  Views(17)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示