栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-11-08 JavaEE 面向对象 学习笔记 超基础 9

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-08 JavaEE 面向对象 学习笔记 超基础 9

第四章 面向对象

Java 面向对象学习的三条主线:         Java 类及类的成员:属性,方法,构造器,代码块,内部类         面向对象的三大特征:封装性,继承性,多态性,(抽象性)         其他关键字:this,super,static,final,abstract,interface,import等

4.4 再谈方法 4.4.1 方法的重载          重载的概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。          ”两同一不同“:同一个类,同一个方法名,参数列表不同,参数类型 不同,参数个数不同         重载的特点:与返回值类型无关,只看参数列表,且参数列表必须不同(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。         重载示例:如下图:




4.4.2 可变形参的方法         JavaSE 5.0中提供了Varargs(variable number of arguments)机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。         JDK 5.0以前:采用数组形参来定义方法,传入多个同一类型变量         public static void test( int a,String[] books );         JDK 5.0:采用可变个数形参来定义方法,传入多个同一类型变量         public static void test( int a,String ... books );         具体使用:                 ①.可变个数形参的格式:数据类型 ... 变量名                 ②.当调用可变个数形参的方法时,传入的参数个数:0个,1个,2个,......                 ③.可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载                 ④.可变个数参数的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。换句话说,二者不能共存。                 ⑤.可变个数参数在方法的形参中,必须声明在末尾                 ⑥.可变个数形参在方法的形参中,最多只能声明一个可变形参                

 

4.4.3 方法参数的值传递机制         ①.关于变量的赋值:                 如果变量是基本数据类型,此时赋值的是变量所保存的数据值。                 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。         ②.方法,必须由其所在类或对象调用才有意义。若方法含有参数:                 形参:方法声明时的参数                 实参:方法调用时实际传给形参的参数值          ③.Java的实参值如何传入方法呢?                  Java里方法的参数传递方式只有一种:值传递。将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。                         形参是基本数据类型:将实参基本数据类型变量的”数据值“传递给形参                         形参是引用数据类型,将实参引用数据类型变量的”地址值“传递给形参

//计算圆的面积
public class Circle {
    public double radius;//圆的半径
    
    //面积方法
    public double findArea() {
        return Math.PI*radius*radius;
    }
}

class PassObejcet{
    public static void main(String[] args) {
        PassObejcet passObejcet = new PassObejcet();
        Circle circle = new Circle();
        passObejcet.printAreas(circle,5);
    }
    public void printAreas(Circle c,int time){
        System.out.println("Radius              Area");
        for (int i = 1; i <= time; i++) {
            c.radius = i;
            System.out.println(c.radius+"                "+c.findArea());
        }
    }
}

4.4.4 递归方法         递归方法:一个方法体内调用它自身。         方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无需循环控制。         递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似死循环。


//例4 斐波那契数列
import java.util.Scanner;

public class test {
    public static long feibonaqie(long number) {
        if (number == 0 || number == 1) {
            return number;
        } else {
            return feibonaqie(number - 1) + feibonaqie(number - 2);

        }
    }

    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入需要计算第几项的值:");
        long number = input.nextLong();
        System.out.println("第" + number + "项的斐波那锲值为:" + feibonaqie(number));
    }
}

4.5 面向对象特征之一:封装与隐藏 4.5.1 概述         我们程序设计追求”高内聚,低耦合“:                 ①.高内聚:类的内部数据操作细节自己完成,不允许外部干涉;                 ②.低耦合:仅对外暴露少量的方法用于使用。         隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性,可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。


点击进入:下一节: 2021-11-09 JavaEE 面向对象 学习笔记 超基础 10

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/462869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号