`
incyanggan
  • 浏览: 34102 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Java菜鸟学习笔记--面向对象篇(五):方法

 
阅读更多


方法格式

[修饰符1 修饰符2 …..] 返回值类型 方法名( 形式参数列表 ){

Java 语句;… … …

}

语法解释:

    1. 形式参数:在方法被调用时用于接收外界输入的数据。
    2. 实参:调用方法时实际传给方法的数据。
    3. 返回值:方法在执行完毕后返回给调用它的环境的数据。
    4. 返回值类型:事先约定的返回值的数据类型,无返回值,必须给出返回类型viod。
      1. Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
      2. 实参的数目、数据类型和次序必须和所调用方法声明的形式列表匹配。
      3. return语句中止方法的运行并指定要返回的数据。

方法区分与特点

  • 方法不能独立定义,要在类体里里面
  • 从逻辑上来看,方法要么属于类本身(类方法),要么属于类的一个对象(对象方法)
  • 方法永远不能独立执行,执行方法必须使用类和对象作为调用者
  • 没有static修饰的方法则属于对象,有static标识的则属于类本身

示例.

1.对比静态方法和动态方法
class Person{
 	private int age;
	private double number;
	
	Person(int age,double number){
		this.age=age;
		this.number=number;
	}
	public void show(){
		System.out.println("这是对象方法");
		System.out.println("age= "+age);
		System.out.println("number= "+number);
	}
	public static void say(String some){
		System.out.println(some);
	}

}
public class PrimitiveTest{
	public static void main(String[] agrs){
		//1.定于类方法和对象方法
		Person.say("你好,这个是类方法");//类方法直接诶 类名.方法名()
		Person yg=new Person(18,114.2);	//对象方法  对象.方法名()
		yg.show();	
		/*输出:
		你好,这个是类方法
		这是对象方法
		age= 18
		number= 114.2

		*/		
	}
}


方法的参数传递机制



  • Java中方法中参数的传递方式只有一种:值传递(就是将实参的赋值品传递给方法内接受的形参)



1.传递基本类型的代码

class Person{

	static void swap(int a,int b){
		int temp=a;
		a=b;
		b=temp;
		System.out.println("swap栈区中 a= "+a+" b="+b);
	}
	static void say(String word){
		
		System.out.println(word);
	} 


public class test{
			
	public static void main(String[] agrs){
	
		Person.say("1.测试传递基本类型参数");
		
		int a=100;
		int b=321;
		Person.swap(100,321);
		System.out.println("main栈中 a= "+a+" b= "+b);
		/*输出:
		1.测试传递基本类型参数
		swap栈区中 a= 321 b=100
		main栈中 a= 100 b= 321
		*/	
	}
	
}

2.传递引用类型的代码


class Person{

	static void objswap(Warehouse one){
		int objtemp=one.a;//one.a one.b全部是堆中的对象的数据成员,objtemp是栈中的变量
		one.a=one.b;
		one.b=objtemp;
			
		System.out.println("obj交换后 a= "+one.a+" b="+one.b);
	}
	static void say(String word){
		
		System.out.println(word);
	} 

} 
class Warehouse{
	int a;
	int b;
	Warehouse(){}
	Warehouse(int a,int b){
		this.a=a;
		this.b=b;
	}

}
public class test{
			
	public static void main(String[] agrs){
	
		Person.say("1.测试传递引用类型参数");
		Warehouse one=new Warehouse(123,456);
		System.out.println("交换前,one.a= "+one.a+" one.b= "+one.b);
		Person.objswap(one);//传过去为指向堆中对象的指针的副本。形参接受副本,还是指向堆中的同一个对象
		System.out.println("交换后,one.a= "+one.a+" one.b= "+one.b);

		/*
		1.测试传递引用类型参数
		交换前,one.a= 123 one.b= 456
		obj交换后 a= 456 b=123
		交换后,one.a= 456 one.b= 123
		*/		
	}
	
}


Main()方法



在java中,main()方法是java应用程序的入口方法。java虚拟机通过main方法找到需要启动的运行程序,并且检查main函数所在类是否被java虚拟机装载。如果没有装载,那么就装载该类,并且装载所有相关的其他类。因此程序在运行的时候,第一个执行的方法就是main()方法。通常情况下, 如果要运行一个类的方法,必须首先实例化出来这个类的一个对象,然后通过"对象名.方法名()"的方式来运行方法,但是因为main是程序的入口,这时候还没有实例化对象,因此将main方法声明为static的,这样这个方法就可以直接通过“类名.方法名()”的方式来调用。


每个类都可以拥有main()方法,不管这个类是否声明为public

//测试每个类的main方法的调用
package me.testmain;
public class Testmain{
	
	
	public static void main(String[] args){
		
		System.out.println("这个class Testmain()方法");
		
	}
	
	
}
class Dog{
	
	public static void main(String[] args){
		
		System.out.println("这是 Dog 类的main方法");
		
	}
	
	
	
}

编译无问题后,我们可以这样运行测试

/*输出:
	yg@Gander:~/Desktop/code$ java me.testmain.
	me.testmain.Dog       me.testmain.Testmain  
	yg@Gander:~/Desktop/code$ java me.testmain.Testmain 
	这个class Testmain()方法
	yg@Gander:~/Desktop/code$ java me.testmain.Dog 
	这是 Dog 类的main方法
	yg@Gander:~/Desktop/code$ 	
	*///说明每个class都可以拥有main函数,而且不管是否public都可以java xxx









作者:YangGan
出处:http://blog.csdn.net/incyanggan
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名Yanggan(包含链接).
分享到:
评论

相关推荐

    Java基础知识笔记详细版-菜鸟翻阅必备

    ### Java基础知识笔记详细版-菜鸟翻阅必备 #### 一、Java概述 1. **Java语言发展史**: - Java由Sun Microsystems公司于1995年推出。 - 最初由James Gosling领导的设计团队开发,目标是用于家用电器的编程。 - ...

    java学习1-3课笔记

    这份"java学习1-3课笔记"涵盖了初学者入门Java的基础知识,由张孝祥老师的课程内容整理而成,适合对编程感兴趣的菜鸟们作为学习参考资料。 1. **Java简介**: Java是由Sun Microsystems(现为Oracle Corporation的...

    java笔记--从菜鸟到j2se j2ee高手之路

    接着,深入学习Java的面向对象特性,如封装、继承和多态。封装是将数据和操作数据的方法打包在一起,以保护数据的安全性。继承允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码重用。多态则是指...

    javase全套学习笔记,从入门到进阶详细笔记

    本学习笔记旨在为初学者提供从入门到进阶的全面指导,覆盖了Java技术的基础和核心概念。 1. Java技术基础 - **编程语言**:编程语言是人与计算机交流的工具,Java作为高级语言,具有简洁、面向对象、可移植性好等...

    《python核心笔记》

    - **定义:** Python是一种支持面向对象的解释型高级编程语言,由Guido van Rossum在1991年首次发布。 - **特性:** - **简单而强大**:Python因其简洁的语法和强大的功能而受到广泛好评。 - **跨平台性**:Python...

    JAVA基础教程(非常适合初学者)

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是简洁、通用,并且能够适应互联网环境。本教程非常适合初学者,旨在帮助你从零开始掌握Java编程...

    java学习路线(鱼皮)

    在Java入门阶段,学习者需要掌握Java基础语法、数据类型、流程控制、数组、面向对象、方法重载、封装、继承、多态、抽象类、接口、枚举、常用类、String、日期时间、集合类、泛型、注解、异常处理、多线程、IO流、...

    建议学习的.md

    - **Java基础**: Java是面向对象编程的典范,学习Java需要掌握面向对象编程的基本概念,如类、对象、继承、封装等。 - **前端技术**: HTML、CSS和JavaScript是前端开发的基础,可以通过在线资源如菜鸟教程或B站上的...

    从Java菜鸟到专家的资料

    这份名为“从Java菜鸟到专家的资料”的压缩包文件包含了丰富的学习资源,旨在帮助初学者逐步成长为Java领域的专家。以下是对各个文件的详细解读: 1. **J2EE研究文集.chm**:这个文件专注于Java企业级应用开发,...

    Java python 个人学习笔记

    这份"Java Python 个人学习笔记"涵盖了这两种语言的基础知识、进阶技巧以及可能的结合应用。 Java是一种面向对象的、高性能的编程语言,由Sun Microsystems(现为Oracle公司)开发,其设计目标是“一次编写,到处...

    java学习路线1

    这一阶段会涉及Java基础语法、面向对象编程等。 **学习内容**: - Java特点 - 环境搭建 - IDEA使用 - 基本语法 - 数据类型 - 流程控制 - 数组 - 面向对象(封装、继承、多态) - 抽象类、接口 - 枚举 - 常用类 - ...

    狂神说java系列笔记(java基础+javaweb+ssm+微服务)全套

    【标签】:“java基础”意味着这套笔记首先会讲解Java语言的基本语法、数据类型、控制结构、面向对象特性等核心概念。“狂神说”则可能代表了作者独特的讲解风格,以深入浅出的方式解析复杂的编程问题。 【压缩包子...

    Java基本语法笔记(菜鸟必看篇)

    Java基本语法是编程初学...掌握这些Java基础语法是成为合格程序员的第一步,也是进一步学习面向对象编程、异常处理、集合框架等高级主题的基础。通过实践和不断学习,你将逐步熟练运用这些知识构建复杂的Java应用程序。

    跃达创新java笔记

    2. **类与对象**:Java是一种面向对象的语言,理解类的定义、对象的创建与销毁、封装、继承、多态等概念至关重要。 3. **集合框架**:如ArrayList、LinkedList、HashSet、HashMap等,它们提供了存储和管理数据的...

    java 学习笔记

    ### Java学习笔记:深入理解JDK安装、配置与类的基础 #### JDK的安装与配置 在开始Java编程之旅前,首要任务是安装JDK(Java Development Kit),这是Java开发环境的核心,包含了编译、运行Java程序所需的所有工具...

    JavaScript对象笔记.rar

    什么是对象 简单点说,编程语言中的对象是对现实中事物的简化。例如,我们一个人就是一个对象,但是编程...在后面的JavaScript对象笔记中,记录了菜鸟在学习JavaScript对象的大多数资源,希望这些资源对你也有价值。

    鱼皮 - Java 学习路线一条龙版本 V2.pdf

    在 Java 入门阶段,学习者需要掌握 Java 的基础语法,包括数据类型、流程控制、数组、面向对象、方法重载、封装、继承、多态、抽象类、接口、枚举、常用类、String、日期时间、集合类、泛型、注解、异常处理、多线程...

    2024最新版Java基础视频教程包括基础详解+笔记+源码+课后练习

    Java是一种广泛使用的面向对象编程语言,它因“一次编写,到处运行”的特性而闻名。Java语言的核心概念包括面向对象的设计、语法结构、运行环境以及标准类库。本教程旨在为初学者提供全面的Java基础知识,让学习者...

    Java复习笔记

    Java是一种广泛使用的面向对象的编程语言,以其跨平台和丰富的库而闻名。下面是对Java一些核心概念的详细解释,主要涵盖数组、常用类、流、线程和网络编程。 **数组**是Java中存储固定数量同类型元素的数据结构。一...

    Java源码实例

    学习J2SE,我们需要掌握Java语法、面向对象编程理念、异常处理、集合框架、I/O流、多线程、反射机制等。源码实例在这个阶段尤为重要,因为它们能帮助我们直观地理解如何将理论知识应用于实际编程中。 接下来,J2EE...

Global site tag (gtag.js) - Google Analytics