java基础回顾_05(自用)

方法重载

方法名重复,形参列表不同

同一个类,相同的方法名

参数列表不同:参数个数不同,参数类型不同

注意:方法的重载与形参名、权限修饰符、返回值类型都没有关系

Java里方法的参数传递方式只有一种:值传递

递归方法:自己调用自己的现象就成为递归

直接递归:方法自身调用自己

间接递归:A()调用B(),B()调用C(),C()调用A()

递归方法包含了一种隐士的循环,递归一定要向已知方向递归,否则变成无穷递归会导致栈内存溢出

计算1-n的值

public class Main {
    public static void main(String[] args) {
        //计算1-n的和
        Main demo =new Main();
        int num=5;
        int sum=demo.getSum(num);
        System.out.println(sum);
        
    }
    public int getSum(int n){
        if(n==1){
            return 1;
        }
        return n+getSum(n-1);
    }
}

递归调用会占用大量的堆栈,内存耗用多,尽量避免使用

关键字:import、package

package

package又称为包,知名该文件中定义的类、接口等结构所在的包

package 顶层包名.子包名 ;
举例:pack1\pack2\PackageTest.java

一个源文件只能有一个声明包的 package 语句
• package 语句作为 Java 源文件的第一条语句出现。若缺省该语句,则指定为无名包。
• 包名,属于标识符,满足标识符命名的规则和规范(全部小写)、见名知意
– 包通常使用所在公司域名的倒置:com.atguigu.xxx。
– 大家取包名时不要使用" java.xx "包
• 包对应于文件系统的目录,package 语句中用 “.” 来指明包(目录)的层次,每.一次就
表示一层文件目录。
• 同一个包下可以声明多个结构(类、接口),但是不能定义同名的结构(类、接口)。
不同的包下可以定义同名的结构(类、接口)

import(导入)

import pack1.pack2.Test;

• import 语句,声明在包的声明和类的声明之间。
• 如果需要导入多个类或接口,那么就并列显式多个 import 语句即可
• 如果使用 a.* 导入结构,表示可以导入 a 包下的所有的结构。举例:可以使用
java.util.*的方式,一次性导入 util 包下所有的类或接口。
• 如果导入的类或接口是 java.lang 包下的,或者是当前包下的,则可以省略此 import
语句。
• 如果已经导入 java.a 包下的类,那么如果需要使用 a 包的子包下的类的话,仍然需要
导入。
• 如果在代码中使用不同包下的同名的类,那么就需要使用类的全类名的方式指明调用
的是哪个类。

面向对象的特征之一:封装性

面向对象的开发原则是:高内聚、低耦合

Java如何实现数据封装

依赖访问控制修饰符,也叫权限修饰符

类的成员之三:构造器

作用:new 对象,并在new的时候为示例变量赋值

关键字:this

他在示例方法或非static的方法内部使用,表示调用该方法的对象

 this可以作为一个类中构造器相互调用格式

this():调用本类的无参构造器
this(实参列表):调用本类的有参构造器

面向对象特征二 继承性

1.子类会继承父类所有的实例变量和示例方法

2.子类不能直接访问父类私有的成员变量和方法

3.继承关键字为extends,即子类不是父类的子集而是父类的扩展

4,java支持多层继承

5.一个父类可以同时拥有多个子类

6.java只支持单继承,不支持多重继承

方法的重写:

子类可以对从父类中继承来的方法进行改造,我们称为方法的 重写 (override 、 overwrite) 。也称为方法的 重置 、 覆盖

关键字:super

在java中可以使用super来调用父类中的指定操作:

• super 可用于访问父类中定义的属性
• super 可用于调用父类中定义的成员方法
• super 可用于在子类构造器中调用父类的构造器

使用场景:

子类重写了父类的方法,想调用父类的方法

子类中调用父类同名的成员变量

子类构造器中掉用父类的构造器

规定:super(形参列表)必须声明在构造器的首行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值