首页 > 其他分享 >面向对象,方法复习

面向对象,方法复习

时间:2023-06-29 17:22:47浏览次数:42  
标签:静态方法 复习 int void class 面向对象 static 方法 public

面向对象,方法复习

image-20230629153425441

面向过程&面向对象

面向过程思想

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

面向对象思想

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

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


什么是面向对象

  • 面向对象编程(Object-Oriented Programming, OOP)
  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
  • 抽象
  • 三大特性:
    • 封装
    • 继承
    • 多态
  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑是先有类后有对象。类是对象的模板。

方法的定义

  1. 修饰符
  2. 返回类型
  3. break:跳出switch,结束循环和return的区别
  4. 方法名:注意规范就OK,见名知意
  5. 参数列表:〔参数类型,参数名).
  6. 异常抛出:疑问,后面讲解
package com.oop.demo01;

public class Demo01 {//Demo01就是类
    //main方法
    public static void main(String[] args) {
        int a=3;
        int b=6;
        int z=max(a,b);
        System.out.println(z);
    }

    /*
    修饰符  返回值类型  方法名(。。。){
    //方法体
    return 返回值;
    }
     */
    public String sayHello(){
        return "hello,world!";
    }

    public void hello(){
        return;//结束方法,返回一个结果!
    }

    public static int max(int a,int b){
        return a>b?a:b;//三元运算符,比较啊,a,b,如果a大,输出a,反之,输出b
    }
}


方法的调用:递归

  • 静态方法
  • 非静态方法

静态方法

package com.oop.demo01;

public class Student {
    //静态方法
    public static void say(){
        System.out.println("学生说话了");
    }
}
======================================
package com.oop.demo01;

public class Demo02 {
    //静态方法  static
    //非静态方法
    public static void main(String[] args) {
        Student.say();
    }

}

非静态方法

package com.oop.demo01;

public class Student {
    //非静态方法
    public void say(){
        System.out.println("学生说话了");
    }
}
=============================================
package com.oop.demo01;

public class Demo02 {
    //静态方法  static
    //非静态方法
    public static void main(String[] args) {
       //实例化这个类new
        //对象类型  对象名 = 对象值;
        Student student = new Student();
        student.say();
    }

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

    }
}

形参与实参

package com.oop.demo01;

public class Demo03 {
    public static void main(String[] args) {
        //实际参数与形式参数要对应
        int add = Demo03.add(2, 6);
        //int add = add(1, 2);
        System.out.println(add);
    }
    public static int add(int a,int b){
        return a+b;
    }
}

值传递和引用传递

package com.oop.demo01;
//引用传递:对象,本质还是值传递
//对象,内存
public class Demo05 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name);//null
        change(person);
        System.out.println(person.name);//请假
    }
    public static void change(Person person){
        //person是一个对象:指向(Person person=new Person();)这是一个具体的人,可以改变属性
        person.name="请假";
    }
}
//定义了一个Person类,有一个属性:name
class Person{
    String name;//null
}

this关键字

标签:静态方法,复习,int,void,class,面向对象,static,方法,public
From: https://www.cnblogs.com/xin-zhi-suo-xiang/p/17514719.html

相关文章

  • 面向对象程序编程PTA题目集4、5以及期中考试的总结性Blog
    1.对之前发布的PTA题目集4、5以及期中考试的总结性Blog,内容要求如下:(1)前言:总结之前所涉及到的知识点、题量、难度等情况期中考试作业:知识点:主要就是考了对类的使用,和不同类间的相互配合使用,还有对于一个程序的不断循环使用(相比之前更加灵活,可以自定义输入的个数),正则表达(可用可不......
  • vxe-table 多选框手动设置选中方法setCheckboxRow(rows,true) 失效问题以及翻页保留选
    现象:rows数组里明明有三个对象,但是只有第一个的复选框选中原因:row-config配置项里需要配置keyField:'id' 翻页保留问题官方有配置项checkbox-config reserve 是否保留勾选状态,对于某些场景可能会用到,比如数据被刷新之后还保留之前选中的状态(需要有row-id)......
  • 面向对象(三大特征、继承下的查找、super、组合)
    面向对象有三大特征:封装、继承和多态继承继承其实和封装差不多,就是新建的类称为是子类或派生类,多个子类继承同一个类,这个类教父类或基类1.为什么要继承类解决什么问题:解决的是对象与对象之间代码冗余问题继承解决什么问题:解决的是类与类之间的代码冗余问题2.怎样继......
  • 使用优启通 制作 WIN PE U盘时报BOOT.WIM 有毒的解决方法
    使用优启通制作WINPEU盘时报BOOT.WIM有毒的解决方法 1.打开“WindowsDefender”.2.点击“病毒和威胁防护”。3.点击“管理设置”。4.点击“添加或删除排除项”。5.将“EasyU_v3.7.exe”添加到排除即可。6.双击EasyU_v3.7.exe,开始制作U盘。 ......
  • 面向对象的高级原则
    1、开放/封闭原则模块应该对扩展开放,对修改关闭。每个类型应该是固定的,不在未来有任何变化,更不要修改类型的源代码。即类型对修改关闭。每次发生变化时,要通过添加新代码来增强现有类的行为,而不是修改原有代码。可以使用如下两种方式:①用组合创建新的类型。②使用安全干净的继......
  • 算法中的七大查找方法
    算法中有多种查找方法,常见的有:顺序查找:从一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。二分查找:在有序的数组中,确定中间的下标mid=(left+right)/2,然后让需要查找的数findVal和arr[mid]比......
  • 详解金融机构敏捷营销落地:体系架构、关键技术和实施方法
    本文根据2023年金融营销科技价值发现论坛中,神策数据金融首席架构师王仕的主题演讲整理所得,聚焦营销5.0理念下的敏捷营销,详细讲解落地敏捷营销涉及到的整体架构、关键技术及实施方法。关注神策数据公众号,即可观看完整版直播回放并下载演讲文档。根据国家发改委官网披露的数据,202......
  • package-lock.json锁定镜像地址404的处理方法
    前言最近接触了一个新的vue项目,安装依赖是一直无法安装成功,有部分依赖包的地址报404,查看package-lock.json,发现其中部分依赖使用了公司私有的镜像库,但是目前该镜像库已关闭,访问该包地址返回404.解决方案如下1、删除package-lock.json,重新npmi生成新的package-lock.json2、先卸......
  • 元素水平垂直居中的方法
     //利用定位+margin:auto    //position:absolute;    //top:0;    //Left:0;    //right:0;    //bottom:0;    //margin:auto;//利用定位+margin:负值    //position:absolute;    //top......
  • Java中获取request对象的几种方法
    1.通过注解获取(很简单,推荐):publicclassHello{@AutowiredHttpServletRequestrequest;//这里可以获取到request} 2.在web.xml中配置一个监听:<listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></liste......