Java中常见方法详解合集(方法的定义及语法结构)
Java的方法定义
1.方法的定义
方法是控制对象的动作行为方式与准则,在Java中方法位于类体下又有另一种含义。
普通的方法在类中称为“实例方法”,因为方法的调用需要创建对象,而创建对象的过程又称为“实例对象”的创建,这里不再细说。
普通方法的书写格式:
[访问修饰符] class 类名 {
[访问修饰符] 返回值类型 方法名 (参数列表....) {
return 返回值类型的值;
}
}
方法的访问修饰符常用的如public、private,下面会举出例子说明。
2.方法的分类
2.1 类中的无返回值方法
类中的无返回值方法就是返回值类型为 “void”的,带有void的方法不会产生返回值。
下面是void方法的语法格式;
[访问修饰符] class 类名 {
[访问修饰符] void 方法名 () {
//带有void,无返回值类型的方法
}
}
下面是void方法带有参数的语法格式(例子);
[访问修饰符] class 类名 {
[访问修饰符] void 方法名 (int i) {
//带有void且有参数的方法
System.out.println("参数值为:"+i);
}
}
2.2 类中带有返回值类型的方法
在类体中含有返回值的方法就是带有数据类型,Java中八大数据类型所创建的方法,必须带有return 数据类型返回值。
下面为八大数据类型通用创建的语法格式:
[访问修饰符] class 类名 {
[访问修饰符] 数据类型 方法名 () {
return 数据类型的值;
}
}
下面是int类型方法带有参数的语法格式(例子);
[访问修饰符] class 类名 {
[访问修饰符] int 方法名 (int i) {
return 0; //或者对i进行操作,然后返回。 如return i;
}
}
3. 带有访问修饰符的方法
前面已经说了无返回值和带有返回值的方法,接下来是访问修饰符搭配使用的方法,通过访问修饰符搭配的方法其范围也有限制。
3.1 public 修饰的方法
通过 public 修饰的方法统称为“公共方法”,其适用范围在类中都可任意调用。(关于访问修饰符的范围,请查看相关技术文档)
下面为public修饰无返回值的方法语法格式:
[访问修饰符] class 类名 {
public void 方法名 () {
//无返回值类型的公共方法
}
}
下面是public修饰带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
public 数据类型 方法名 (int i) {
return 数据类型的值;
}
}
3.2 private 修饰的方法
private 称为“私有”的意思,所修饰的方法意思就是私有的,仅直属于类体中任意调用的方法,方法的命名称为“私有方法”。(简解,详细请查看相关文档)
下面为private修饰无返回值方法的语法格式;
[访问修饰符] class 类名 {
private void 方法名 () {
//无返回值类型的私有方法
}
}
下面是private修饰带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
private 数据类型 方法名 (int i) {
return 数据类型的值;
}
}
3.3默认方法
默认方法就是不加任何修饰符的方法,其实命名是有名字的 private-default (简解,详细请查看相关文档)
下面为默认无返回值的方法语法格式:
[访问修饰符] class 类名 {
void 方法名 () {
//无返回值类型的默认方法
}
}
下面是默认带有参数的方法(例子):
[访问修饰符] class 类名 {
数据类型 方法名 (int i) {
return 数据类型的值;
}
}
3.4 protected 修饰的方法
protected 称为“保护”的意思,也就是说所修饰的方法有着保护作用。(简解,详细请查看相关文档)
下面为protected 修饰无返回值的方法语法格式;
[访问修饰符] class 类名 {
protected void 方法名 () {
//无返回值类型的私有方法
}
}
下面是protected 修饰符带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
protected 数据类型 方法名 (int i) {
return 数据类型的值;
}
}
4. static修饰的方法
static称为“静态”的意思,在类中方法命名的定义称为“静态方法”或者“类方法”。
static修饰方法之后,此方法将属于类,不在属于通过对象调用的方法(通过对象调用的静态方法是错误的行为)。
静态方法在创建后会直属于类,当类加载的时候,静态方法会自动生成一个内存空间,等待调用执行。
下面为static修饰无返回值的方法语法格式;
[访问修饰符] class 类名 {
[访问修饰符] static void 方法名 () {
//无返回值类型的静态方法
}
}
下面是protected 修饰符带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
[访问修饰符] 数据类型 方法名 (int i) {
return 数据类型的值;
}
}
注:带有static数据类型的返回值接收的变量也必须是static所修饰的。
5. final修饰的方法
final称为“最终”的意思,在类中方法命名的定义称为“最终方法”或者“不可变的方法”。
final修饰方法之后,此方法将表示最终的方法,不能在出现继承、重写等问题。(详细final定义这里不在详细说明,可查看相关文档)
下面为final 修饰无返回值的方法语法格式;
[访问修饰符] class 类名 {
[访问修饰符] final void 方法名 () {
//无返回值类型的不可变方法
}
}
下面是final 修饰符带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
[访问修饰符] final 数据类型 方法名 (int i) {
return 数据类型的值;
}
}
6.构造函数方法
构造函数方法又称为“构造器”或者“构造方法”,其作用就是加载类的,在类创建实例的时候,会执行此方法。
下面为无参数的构造方法的语法格式;
[访问修饰符] class 类名 {
[访问修饰符] 类名 () {
//构造方法内的数据
}
}
下面是带有参数的构造方法修饰方法(例子):
[访问修饰符] class 类名 {
[访问修饰符] 类名(参数列表...) {
//对参数进行操作
}
}
7.接口中的方法
接口中的方法默认类型为 public static final 返回值类型 方法名(),所以默认可以写为“ 返回值类型 方法名(参数列表...);” (简解,详细请查看相关文档)
下面为接口无返回值的方法语法格式;
[访问修饰符] interface 接口名{
[访问修饰符] void 方法名 ();
}
下面是接口带有参数的修饰方法(例子):
[访问修饰符] interface 接口名{
[访问修饰符] int 方法名 (int i);
}
8.泛型方法
泛型方法就是普通方法加上泛型,起到方法的约束作用。 (简解,详细请查看相关文档)
下面为泛型无返回值的方法语法格式;
[访问修饰符] class 类名 {
[访问修饰符] <> 返回值类型 () {
//泛型方法内的数据
}
}
下面是泛型带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
[访问修饰符] <K> 返回值类型 (K k) {
//泛型方法内的数据
}
}
下面为泛型+static+无返回值的语法格式;
带有static的泛型方法,又称为“静态泛型方法”。
[访问修饰符] class 类名 {
[访问修饰符] static <> 返回值类型 () {
//静态泛型方法内的数据
}
}
下面是泛型+static+带有参数的修饰方法(例子):
[访问修饰符] class 类名 {
[访问修饰符] static <K> 返回值类型 (K k) {
//静态泛型方法内的数据
}
}
9.抽象类的方法
抽象类的方法具有抽象化。 (简解,详细请查看相关文档)
下面为抽象化无返回值的方法语法格式;
[访问修饰符] class 类名 {
[访问修饰符] abstract 返回值类型 方法名() {
//抽象化方法内的数据
}
}
下面是抽象化有返回值的方法(例子):
[访问修饰符] class 类名 {
[访问修饰符] abstract int 方法名 (int i) {
return i;
}
}
10.类中的类方法(多用于单例工厂的方法)
类方法常用与对象(实例)的创建,大部分类方法多用于返回对象。
下面为无返回值的类方法:
[访问修饰符] class 类名 {
[访问修饰符] static 类名 方法名(){
//操作
}
}
下面为带有返回值的类方法:
[访问修饰符] class 类名 {
[访问修饰符] static 类名 方法名(类名 对象名...){
return 对象名;
}
}
小结:文章刚开始介绍了常用方法的语法结构,之后开始加入修饰符的方法,通过修饰符进一步扩展static和final所修饰的方法,然后例举了接口方法、泛型方法、抽象化的方法,最后举出了类方法用法,由简入深。小伙伴们不懂得可以照着教学视频或者课本的例子,自己对照一下然后由此扩展,循环渐进慢慢就懂了。方法的语法结构并不难,难点在于他们的适用性,已经他们的返回值,如何去控制如何去使用。等你自己慢慢地学会写出方法嘞,这样你就真正的学会方法的创建了,多说不宜,加油年轻人o( ̄▽ ̄)d
转载记得留言哟~
Java中常见方法详解合集(方法的定义及语法结构)的更多相关文章
- Java中日志组件详解
avalon-logkit Java中日志组件详解 lanhy 发布于 2020-9-1 11:35 224浏览 0收藏 作为开发人员,我相信您对日志记录工具并不陌生. Java还具有功能强大且功能强 ...
- java中的注解详解和自定义注解
一.java中的注解详解 1.什么是注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: @Override public Str ...
- [转载]java中import作用详解
[转载]java中import作用详解 来源: https://blog.csdn.net/qq_25665807/article/details/74747868 这篇博客讲的真的很清楚,这个作者很 ...
- Java中dimension类详解
Java中dimension类详解 https://blog.csdn.net/hrw1234567890/article/details/81217788
- JAVA中Object类方法详解
一.引言 Object是java所有类的基类,是整个类继承结构的顶端,也是最抽象的一个类.大家天天都在使用toString().equals().hashCode().waite().notify() ...
- Js apply方法详解,及其apply()方法的妙用
Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...
- UML中常见关系详解(泛化、实现、依赖、关联、组合、聚合)
UML中类与类,已经类与接口,接口与接口的关系有:泛化(generalization),关联(association),依赖(dependency),实现(realization)这几种. 泛化( ...
- Java中反射机制详解
序言 在学习java基础时,由于学的不扎实,讲的实用性不强,就觉得没用,很多重要的知识就那样一笔带过了,像这个马上要讲的反射机制一样,当时学的时候就忽略了,到后来学习的知识中,很多东西动不动就用反射, ...
- Java中的多线程详解
如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...
随机推荐
- Hyperf-事件机制+异常处理
Hyperf-事件机制+异常处理 标签(空格分隔): php, hyperf 异常处理器 在 Hyperf 里,业务代码都运行在 Worker 进程 上,也就意味着一旦任意一个请求的业务存在没有捕获处 ...
- 如何删除Image元素下面的空白行及为什么行内元素有底线
翻译练习 原博客地址:Removing White Space Below Image Elements, or Why Inline Elements Have Descenders HTML中Im ...
- EFCodeFirst 数据库连接
EFCodeFirst 数据库连接 EFCodeFirst 数据库连接 1.NuGet安装实体命令 PM> Install-Package EntityFramework 2.数据库连接字符串 ...
- Tango with django 1.9 中文——2.准备工作
在正式开始写代码之前,设置好开发环境是非常重要的.你要确保所有必须的组件都已安装好.本章将概述五个你需要了解的关键组件的设置和使用.清单如下: 使用命令行 Python Python包管理器pip和虚 ...
- 共享内存与存储映射(mmap)
[前言]对这两个理解还是不够深刻,写一篇博客来记录一下. 首先关于共享内存的链接:共享内存.里面包含了创建共享内存区域的函数,以及两个进程怎么挂载共享内存通信,分离.释放共享内存. 共享内存的好处就是 ...
- PCA主成分分析的矩阵原理
[前言]主成分分析(PCA)实现一般有两种,一种是对于方阵用特征值分解去实现的,一种是对于不是方阵的用奇异值(SVD)分解去实现的. 一.特征值 特征值很好理解,特征值和特征向量代表了一个矩阵最鲜明的 ...
- 后端程序员之路 33、Index搜索引擎实现分析2-对外接口和大体流程
# index_manager的单例是index server对外的唯一接口,part_indexer是index搜索的核心部分,index_manager持有了一组part_indexer. typ ...
- Get和Post请求方式
Get和Post是两种不同的类型的请求. 它们主要有3点不同. 1.get请求通过浏览器地址栏传递表单数据.post请求通过form data 传递数据,不会通过地址栏. 2.get请求安全性较低,p ...
- JVM笔记 -- JVM的发展以及基于栈的指令集架构
2011年,JDK7发布,1.7u4中,开始启用新的垃圾回收器G1(但是不是默认). 2017年,发布JDK9,G1成为默认GC,代替CMS.(一般公司使用jdk8的时候,会通过参数,指定GC为G1) ...
- 测试平台系列(3) 给Hello World添加日志
给Hello World添加日志 回顾 通过上篇内容,我们已经使用「Flask」完成了我们的第一个接口.我们可以看到,使用「Flask」来编写接口是十分简单的.那么接下来,我们丰富一下上面的例子. 需 ...