二、方法

1、方法的重载

1.1 方法的签名

  • 方法的唯一标识就是方法的签名:方法的名字和参数列表;
  • 一个类中不能出现两个方法的签名完全一样的方法

1.2 方法的重载

  • 方法名相同但参数列表不同称之为方法的重载。
public void show(){}
//互相构成重载
public void show(int i) {}

1.3 访问重载方法

  • 编译器在编译时会根据方法的起那么绑定调用不同的方法

2、构造方法

2.1 构造方法的语法结构

  • 构造方法是类的成员之一----------特殊的方法,有如下两个规则:
  • 方法名和类名相同;
  • 没有返回值类型,且不写void
public class Person{
public Person(){
//构造方法
}
}

2.2 通过构造方法初始化成员变量

  • 构造方法的意义:初始化成员变量
  • 当实例化一个对象时:new Person():实际上是执行了对应的构造方法
public class Person() {
Public Person() {
System.out.println("执行了无参构造方法");
}
}
public class Test{
public void static main(String[] args){
Person p = new Person();//执行了无参构造方法
}
}

2.3 this关键字

  • this关键字解决了构造方法参数名称的属性名称同名的问题;
public Person(String name,int age) {
this.age = age;
this.name = name;//this解决同名问题。增加代码可读性
}
  • this关键字是谁?谁调用了this.属性或方法中的某个属性和方法,则this就调用谁
public Person(String name) {
System.out.println("Person的无参构造方法");
this.name = name;//this.指Person对象。
}

2.4 默认的构造方法

  • 一个类必须有构造方法,当类中没有定义时,编译器会提供一个默认的无参构造方法;
  • 当我们显式的定义了任意一个构造方法时,系统将不会提供默认的无参构造方法。
public class Person {
String name;
int age;
public Person(String name) {//类名相同 且无返回值类型--- 构造方法
System.out.println("Person的无参构造方法");
this.name = name;//区分同名的
}
public void show () {
System.out.println("show1");
}
public void show (int i) {
System.out.println("show2");
}
public void show (double d) {
System.out.println("show3");
}
public void show (int i ,double d) {
System.out.println("show4");
}
public void Show (int i ,double d) {
System.out.println("show5");
}
}
public class TestMethod {
public static void main(String[] args) {
Person p = new Person();//会报错,系统不会提供默认的构造方法
}
}

2.5 构造方法的重载

  • 类名相同,但参数列表不同的构造方法,我们称之为互相构成重载。
public Person(String name,int age) {
this.name = name;
this.age = age;
}
public Person(String name) {//类名相同 且无返回值类型--- 构造方法
System.out.println("Person的无参构造方法");
this.name = name;//区分同名的
}
 

java面向对象编程---方法的更多相关文章

  1. Java面向对象编程基础

    一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...

  2. java 面向对象编程。。。。

    经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承 ...

  3. 《Java面向对象编程》

    <Java面向对象编程> 第11章 对象的生命周期 11.1  创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Const ...

  4. JAVA面向对象编程课程设计——网络版单机斗地主

    一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...

  5. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  6. java面向对象编程知识点总结

    一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...

  7. Java面向对象编程(一)

    由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymo ...

  8. JAVA学习(五):Java面向对象编程基础

    Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目 ...

  9. (一)如何理解java面向对象编程

    哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...

随机推荐

  1. [题解] 序列(sequence)

    题目大意 给定一个长度为 \(N\)​ 的非负整数序列 \(A_1,A_2, \ldots ,A_N\)​,和一个正整数 \(M\)​.序列 \(A\) ​满足 \(\forall 1 \le i \ ...

  2. 老生常谈系列之Aop--Spring Aop源码解析(二)

    老生常谈系列之Aop--Spring Aop源码解析(二) 前言 上一篇文章老生常谈系列之Aop--Spring Aop源码解析(一)已经介绍完Spring Aop获取advice切面增强方法的逻辑, ...

  3. 高级IPC DBus

    What is IPC IPC [Inter-Process Communication] 进程间通信,指至少两个进程或线程间传送数据或信号的一些技术或方法.在Linux/Unix中,提供了许多IPC ...

  4. 哈工大软件构造Lab1(2022)

    目录 一.实验目标概述 二.实验环境配置 1.安装编写java程序的IDE--IntelliJ IDEA 2.安装Git 3.安装Junit 4.GitHub Lab1仓库的URL地址 三.实验过程 ...

  5. jmeter 基础使用

    相关入门链接 JMeter 5.4.1 教程 插件安装 并发线程 ServerAgent 服务器监控 ServerAgent 下载 Ubuntu 20.04 install jdk/jre 服务器监控 ...

  6. spring boot 统一接口异常返回值

    创建业务 Exception 一般在实际项目中,推荐创建自己的 Exception 类型,这样在后期会更容易处理,也比较方便统一,否则,可能每个人都抛出自己喜欢的异常类型,而造成代码混乱 Servic ...

  7. 『忘了再学』Shell基础 — 16、位置参数变量

    目录 1.位置参数变量$n 2.位置参数变量$*和$@ 3.位置参数变量$# 位置參数变量的作用主要用于脚本的传参. 位置參数变量的名称和作用都是确定不能改变的,但是该变量的内容是可以更改的,也就是变 ...

  8. 安装Zabbix到Ubuntu(APT)

    运行环境 系统版本:Ubuntu 16.04.2 LTS 软件版本:Zabbix-4.0.2 硬件要求:无 安装过程 1.安装APT-Zabbix存储库 APT-Zabbix存储库由Zabbix官网提 ...

  9. Base64 编码知识,一文打尽!

    现在网站为了提升用户的浏览体验越来越多的使用了图片,而这些图片通常以 Base64 的形式存储和加载.因此各位开发工程师肯定对 Base64 毫不陌生了,那么你知道 Base64 究竟是什么,为什么要 ...

  10. 『忘了再学』Shell基础 — 24、Shell正则表达式的使用

    目录 1.正则表达式说明 2.基础正则表达式 3.练习 (1)准备工作 (2)*练习 (3).练习 (4)^和$练习 (5)[]练习 (6)[^]练习 (7)\{n\}练习 (8)\{n,\}练习 ( ...