当前位置: 首页 > news >正文

3.24-3.26学习总结

目录

一.方法methed

 二.构造方法(构造器)

 三.方法重载

 四.方法覆写


一.方法methed

        1.定义:

        修饰符  方法返回类型  方法名(参数列表){

                系列语句;

                return 返回值;

}

        2.public+方法/字段: 公开给外部,外部代码可以直接调用/访问。

        3.private+方法/字段: 不允许外部调用/访问,但可以使用内部方法间接调用/访问

#使用private  可以避免破坏封装性,避免逻辑混乱。如,一个人的年龄不能为负数。

4.this变量 指向当前实例

        当有局部变量与字段冲突时,须加上this

二.构造方法(构造器)

        创建对象时,通过构造方法初始化该对象

  1. 名称为类名,无返回值。#返回值为该类的实例(隐式,不要写return)
  2. 任何class都有构造方法,须用new调用。#没有定义构造器时,会生成一个默认的无参构造器,将成员变量初始化为0/null/false
  3. 类中可以存在多个构造方法,但每个构造方法的参数列表一定不同(重载)。
public class Main {public static void main(String[] args) {Constructor con1=new Constructor(6,"666");con1.Print();//6 666Constructor con2=new Constructor();con2.Print();//0 null}
}
class Constructor{int x;String str;public Constructor(){//默认}public Constructor(int x,String str) {this.x = x;//变量冲突,用thisthis.str = str;}public void Print(){System.out.println(x+"\n"+str);}
}

 三.方法重载

        同一个类,方法同名,参数列表一定不同。

#可将一系列功能类似的方法,设置成同名,方便记忆

#参数列表不同:1.形参个数不同。2.形参类型不同

#重载形参个数可变的方法时,优先调用形参固定的方法。如需调用可变方法,可传入数组形式。

public class Main {public static void main(String[] args) {System.out.println("Hello world!");Overload temp=new Overload();temp.test(1,1);//固定参数temp.test(new int[]{1,1});//可变参数}
}
class Overload{public void test(int...nums){System.out.println("可变参数");}public void test(int x,int y){System.out.println("固定参数");}
}

四.方法覆写

        在继承关系中,子类中定义了一个与父类方法签名(方法名+参数列表)相同的方法。

  1. 子类方法返回值应比父类更小或相等
  2. 子类方法声明抛出的异常类应比父类更小或相等(挖个坑)
  3. @Override 检测覆写

#覆写发生在子类与父类之间

#子类可以重载父类的方法

public class Main {public static void main(String[] args) {Parent p=new Parent();p.method(666);//父类方法Child c=new Child();c.method(888);//overridec.method("000");//overload}
}
class Parent{public void method(int n){System.out.println(n+"父类方法");}
}
class Child extends Parent{//覆写@Overridepublic void method(int x){System.out.println(x+"\n"+"override");}//重载public void method(String str){System.out.println(str+"\n"+"overload");}
}
http://www.lryc.cn/news/45155.html

相关文章:

  • OpenAI Translator 基于 ChatGPT API 的划词翻译工具
  • git常用指令---复习向
  • 安卓开发学习记录(持续学习)
  • 【redis】AOF日志:宕机了,Redis如何避免数据丢失
  • 第三章Vue中的Ajax
  • 在 Python3 中使用 JSON
  • 图神经网络GNN介绍
  • 【面试】TCP、UDP、Socket、HTTP网络编程面试题
  • Python语言的文件读写
  • 面向对象 ( 上 )
  • Node.js学习笔记——会话控制
  • tsconfig.json参数详解
  • Pyecharts Geo绘制可视化地图并展示坐标位置
  • 什么是Hbuilder?--前端工具IDE
  • 07-centos-更改数据源、打补丁、查看内核
  • flac格式如何转mp3,3种简单方法值得收藏
  • 停车位 蓝桥杯模拟
  • ftrace使用实战
  • 【C#进阶】C# 不安全代码
  • Docker安装部署ElasticSearch
  • 【新2023Q2模拟题JAVA】华为OD机试 - 快递业务站
  • OpenCV入门(二十四)快速学会OpenCV 23 傅里叶变换
  • 线段树合并
  • 研发效能 | DevOps如何改变游戏公司工作方式?
  • Mongo聚合和Springboot整合Mongo聚合
  • 第06章_索引的数据结构
  • 不确定的市场,确定的增长,海尔智家2022全球再逆增
  • 测试老鸟手把手教你python接口自动化测试项目实战演示
  • 一起来学5G终端射频标准(Coherent UL-MIMO测试要求)
  • 计算广告(五)