Java中的方法
1、格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
//例如主方法main
public static void main(String[] args){
}
- 修饰符:public、static、private等等
- 返回值类型:用于限定返回值的数据类型
- 方法名:一个名称,为了方便我们调用方法
- 参数类型:限定调用方法时传入参数的数据类型
- 参数名:是一个变量,接收调用方法时传入的参数
- 方法体:完成功能的代码
- return:结束方法以及返回方法指定类型的值
- 返回值:程序被return带回的结果,返回给调用者
2、定义
就是完成特定功能的代码块,特定功能也是你自己定义想实现的一种功能,在其他语言中也叫做函数。
3、特点
不调用不执行。很好理解,就是你写好的方法,你不在主函数中调用,他就安静的放着,不会被运行,或许有人会想主方法不也是方法吗,为什么没有人调用它,这里我上面也提过,主方法的调用者是JVM即JAVA虚拟机,只要你想要运行JAVA就一定会用到它,也可以理解主方法就是你函数的一个入口,只有经过他,你的代码才会开始执行。
方法重载
概念:
每个类中,方法是可以同名的,只要返回的参数个数和类型不同即可,JVM会根据参数列表的不同来区分同名的方法。
例如:
面向对象
类与对象
我们学习编程语言,就是为了模拟现实世界的事物,实现信息化,比如:去超市买东西有收银系统,去银行办业务有办公系统。而我们学习的Java语言就是为了把事物用代码来体现。
属性 就是该事物的描述信息
行为 就是该事物能够做什么
举例:
人的属性为人有五官四肢,而人的行为可以是能吃饭工作
1、类的格式
创建对象:
类名 对象名 = new 类名();
调用:
对象名.成员变量
对象名.成员方法
例如我们写一个简单的存储同学信息的类
public class Student {
//属性: 成员变量
String name;
int age;
String sex;
//行为: 成员方法
public void information(){
System.out.println("我叫"+name+"我今年"+age+"我是"+sex);
}
}
2、构造方法
构造方法的作用就是给对象进行初始化。
格式:
int a ;
String b;
/*
无参构造方法
*/
public JavaBean() {
}
/*
有参构造方法
*/
public JavaBean(int a) {
super();
this.a = a;
}
例如一个简单的信息展示:
public class Teacher {
// 成员变量
String name;
int age;
char sex;
String subject;
public Teacher() {
}
public Teacher(String name, int age, char sex, String subject) {
this.name = name;
this.age = age;
this.sex = sex;
this.subject = subject;
}
// 成员方法
public void teach() {
System.out.println("老师是红烛,燃烧了自己,照亮了别人");
}
public void introduce() {
System.out.println("姓名" + name + ",性别" + sex + ",年龄" + age + ",科目" + subject);
}
}
调用
public static void main(String[] args) {
Teacher t = new Teacher();
t.name = "Ms Liu";
t.age = 18;
t.sex = '女';
t.subject = "语文";
t.teach();
t.introduce();
注意:
- 如果你不提供构造方法,系统会给出默认构造方法
- 如果你提供了构造方法,系统将不再提供
- 构造方法也是可以重载的
成员变量与局部变量的区别
1、在类中的位置不同
- 成员变量 方法外类内
- 局部变量 方法内或者方法声明上(方法列表)
2、在内存中的位置不同
- 成员变量 堆内存
- 局部变量 栈内存
3、生命周期不同
- 成员变量 随着对象的存在而存在,随着对象的消失而消失
- 局部变量 随着方法的调用而存在,随着方法的调用完毕而消失
4、初始化值不同
- 成员变量 有默认的初始化值
- 局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。
形式参数与实际参数
1、形式参数
定义方法时,参数列表上的量
2、实际参数
调用方发时传递进去的参数
3、类别特点
例如:
简单解释一下类别的介绍,就是当方法()里的形参是基本数据类型时,你调用了方法传进去了实参,当你传进去的数值和方法里的数值不同时,你执行完方法输出的值还是你在调用前赋好的值,不会根据方法的调用而改变,但是你的形参是引用类型时,就会在调用完方法后,变成你方法里改变过的值。
主要关键字
1、private 私有的
- 是一个权限修饰符。
- 可以修饰成员(成员变量和成员方法)
- 被private修饰的成员只在本类中才能访问
2、public 共有的
- 是一个权限修饰符。
- 可以修饰成员(成员变量和成员方法)
- 被public修饰的成员可以被其他类调用
3、static 静态的
静态的特点:
- 被static修饰的成员就会放在方法区中的静态区中,被整个程序所有的对象所共享,只有一份
- 被static修饰的成员会随着类的加载而加载,优先于对象而存在
- 静态的只能访问静态的
静态的成员被访问的方式:
- 通过对象名
- 通过类名
静态什么时候使用?
- 当存在共享数据时可以使用静态
- 当创建工具类的时候,因为工具类里面的方法会被频繁的调用,如果创建多个方法就会比较浪费内存
静态缺点:
- 因为静态是随着类的加载而加载,所以只有等到整个应用程序关闭时才会从内存中消失