***2022-07-18 第7组 java面向对象(1)

今日重点:

 

目录

​编辑

一、面向对象的概述

1、对象

2、类

3、Java面向对象程序设计的特点

二、类与对象

1、成员变量

2、成员方法

3、构造方法

4、方法重载


一、面向对象的概述

 Java是一门面向对象的编程语言。在java中,万事万物皆对象(在Linux中,万事万物皆文件)。其实,高级的编程语言,会向着人的思考靠近。面向对象更高级的抽象,是对现实世界的映射。

 1、面向过程和面向对象

(1)面向过程

面向过程就是分析出实现需求需要的步骤,通过一些方法一步一步实现。

(2)面向对象(行为化)

把整个需求的按照特点、功能划分,将这些存在共性的部分封装成类(类实例化之后才是对象),让对象去解决问题。
举一个例子:
 七夕了,你想送给你女朋友一个包。
    面向对象:找个店,买个包。不管是商家,还是包都是现实中真实存在的事物,这个商店或者包我们就可以称之为对象。在整个的你去买包或商家卖包,我们忽略 了包怎么加工的?
    面向过程:找到原材料,字节切割,自己缝制,每一个工序都自己干,这就是过程。   

2、Java面向对象程序设计的特点

(1)封装

(2)多态

(3)继承

二、类与对象

1、成员变量

2、成员方法

(1)值参数

(2)引用参数

(3)不定长参数

3、构造方法

构造器(构造方法)
 * 语法:
 * 访问权限修饰符 类名(参数列表){
 *
 * }
 * 特点:
 * 1.java在new对象的时候,先看对象所对应的类有没有构造器,有什么样的构造器。
 *  如果没有构造器,则无法创建对象
 * 2.每个类会有一个默认的无参的构造器
 * 3.在对象被实例化时,调用了构造器
 * 4.我们创建对象实际上是通过构造器创建的
 * 5.如果一个类中显式的声明了一个构造器,原来默认自带的无参构造器就失效
 */

4、方法重载

(1)概念

方法的重载(Overload)
 * 1.方法名相同
 * 2.参数不同(参数的类型,参数的个数,参数的顺序)
 * 3.发生在同一个类里
 * 与返回值类型无关,与访问权限修饰符无关,与方法体无关
 * 方法的重载的好处:
 * 为了把功能相似相同的方法用同一个名字

public class Ch02 {

//    public int sum(int num1,int num2){
//
//        return num1 - num2;
//    }

    public void sum(int num1,int num2) {
        System.out.println(num1 + num2);
    }

    public void sum(int num1,int num2,int num3){
        System.out.println(num1 + num2 + num3);
    }

    public void sum(double d1,double d2) {
        System.out.println(d1 + d2);
    }

    public void sum(int num1,double d2){
        System.out.println(num1 + d2);
    }
//    public void sum(double d1,int num1){
//
//    }

//    public void sum(double d2,int num2){
//
//    }

    public void sum(double d1,double d2,double d3){
        System.out.println(d1 + d2 + d3);
    }

    public static void main(String[] args) {
        Ch02 c = new Ch02();
        c.sum(1,2);
    }
}

(2)案例

需求:
 * 写两个重载的方法
 * 1.一个方法求两个数的最大值
 * 2.另一个方法求三个数的最大值


public class Ch03 {

    public int max(int num1,int num2) {

        return num1 > num2 ? num1:num2;
    }

    public int max(int num1,int num2,int num3){
        int a = (num1 > num2 ? num1 : num2);
        return a > num3 ? a : num3;
    }

    public static void main(String[] args) {
        Ch03 c = new Ch03();
        c.max(1,2,3);
    }
}

5、访问权限

 * 访问权限:
 * public:一个工程下任意位置都可以访问
 *         类,属性上,方法上,构造器
 * protected:可以跨包,如果跨包,必须是他的子类
 *         属性,方法,构造器
 * (默认的):当前包下可以访问
 *         类,属性,方法,构造器
 * private:只有当前类可以访问
 *         属性,方法,构造器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值