成员方法和构造方法.成员方法的定义
今天合众百科就给我们广大朋友来聊聊成员方法和构造方法,以下关于观点希望能帮助到您找到想要的答案。
- 1、java中的成员方法和构造方法有什么区别
- 2、以程序为例,讲解java中包,类,构造函数,成员变量,成员方法,重载,接口,SUPER,继承,多态,static,final等
- 3、什么是成员方法
本文导航,以下是目录:
java中的成员方法和构造方法有什么区别
最佳答案构造方法没有返回值,方法名和类名一样,其作用是用于在NEW一个类的时候,会总先调用这个类的构造方法,构造方法内部可以作一些变量的初始化或在创建这个类时必须调用的一些方法和运算,他是不用特意去调用的方法,会随着类的创建而自动去调用
例如:我们需要做一个i+j的运算,在这期间我们用到了构造函数,让其改变了i和j的初始化值
public class Text {
int i = 0;
int j = 0;
/**
* Text 的构造函数 将i和J的值重新初始化赋值
*/
public Text() {
i = 1;
j = 2;
};
public static void main(String[] args) {
Text s = new Text();
//此时当你NEW完Text()时程序已经自动执行了Text的构造 函数i和j的值已经是1和2
System.out.println(s.i + s.j);
}
}
求为满意回答。
以程序为例,讲解java中包,类,构造函数,成员变量,成员方法,重载,接口,SUPER,继承,多态,static,final等
最佳答案您好,
一、成员变量(类或对象的状态)
1、认识成员变量(类或对象的状态)、类变量、实例变量、局部变量、方法参数之间的区别
成员变量(field)是没有定义在代码块(包括初始化块、成员方法)中的变量。成员变量是类变量还是实例变量取决于在其声明中是否使用了static关键字。
类变量在声明是用了static关键字,它的另一个名字叫静态变量、静态成员变量(static field) 。
实例变量是在声明时没有使用static关键字的成员变量,它的另一个名字叫非静态成员变量(non-static field)。
定义在代码块里的变量被称为局部变量(local variable)。
定义在方法声明中的变量叫方法参数。
[java] view plaincopyprintpublic class Lesson08 { // 类变量 static String s1 = "类变量"; // 实例变量 String s2 = "实例变量"; // 初始化代码块里的局部变量 { String s3 = "初始化代码块里的局部变量"; System.out.println(s3); } // 静态初始化代码块里的局部变量 static { String s4 = "静态初始化代码块里的局部变量"; System.out.println(s4); } // 方法的参数和方法里的局部变量 public void printString(String s5) { String s6 = "方法里的局部变量"; System.out.println("方法的参数:"+s5); System.out.println(s6); } // 类方法 public static void printString() { String s7="类方法里的局部变量"; System.out.println(s7); } // main方法 public static void main(String[] args) { //调用类方法 Lesson08.printString(); //打印类变量 System.out.println(s1); //创建对象 Lesson08 lesson = new Lesson08(); //打印实例变量 System.out.println(lesson.s2); //调用实例方法 lesson.printString("参数的值"); } }
对于他们之间的区别,我们在以后的学习中你会越来越清晰的。
2、变量的初始化
实例变量一经定义就会有初始值,局部变量定义时不赋初值而直接使用,编译器会报错
[java] view plaincopyprintpublic class Lesson08_1 { int i; static int j; { int k; System.out.println(k); } static { int l; System.out.println(l); } public void print(String m){ System.out.println(m); } // main方法 public static void main(String[] args) { int n; System.out.println(n); Lesson08_1 lesson =new Lesson08_1(); lesson.print("m"); } }
运行程序,查看结果:
然后我们再给局部变量都附上初值,再把实例变量和类变量都打印出来看看,代码如下:
[java] view plaincopyprintpublic class Lesson08_1 { int i; static int j; { int k=2; System.out.println(k); } static { int l=2; System.out.println(l); } public void print(String m){ System.out.println(m); } // main方法 public static void main(String[] args) { System.out.println(j); int n=2; System.out.println(n); Lesson08_1 lesson =new Lesson08_1(); lesson.print("m"); System.out.println(lesson.i); } }
运行程序,查看结果:
我们看到类变量和实例变量没赋值照样有值打印出来,我们也看到int的初始值是0 。
实例变量和类变量的类型 初始值
整数 0
浮点类型 0.0
字符类型 ‘/u0000′
布尔类型 boolean false
引用数据类型(譬如数组、接口、类) null
二、方法(类或对象的行为)
1、方法
Java中类的行为由类的成员方法来实现。类的成员方法由方法的声明和方法体两部分组成。
修饰符,可选,用于指定权限访问此方法。
返回值类型,必选,用于指定该方法的返回值数据类型;如果该方法没有返回值,则要用关键字 void 进行标示。方法的返回值只能有一个。
参数列表,可以有0到多个,多个参数之间要用逗号隔开,参数的写法形如:String[] args, int age 这样。
方法名,必选,这个……,好吧命名规则是方法名和变量名的首字母要小写,别丢我人,弄个大写方法名出来。
方法体,可选,这个……,
大括号,大括号不写的方法叫抽象方法。
2、属性和方法之间的关系
有句绕口令是这么说的:“状态影响行为,行为影响状态”。你有没有想过这问题,如果每个对象都是从同一个类中生成出来,每个对象如果都一摸一样,那么这个世界是不是太无趣了。好在,我们看到前面的例子中,小狗的大小属性影响了他叫的方式。通过设置狗大小的方法又改变了它的状态。这些属性和方法的细节上的不同导致了,多姿多彩的对象,我们后面还会讲到更多的技术,也会导致更多的多样性。
三、方法重载 overload
Java里可以提供同一个方法的多个不同参数的版本供我们调用,譬如上面的小白,它叫 bark() 的方法有两种,一种是很随意的叫,无拘无束的叫,还有一种是根据它心情的不同来叫,当然我还可以再定义一个方法可以让他根据主人的脸色来叫,我们也可以再定义一个方法,穿的参数是食物,那么它的叫声可能就是边吃边幸福的吼叫了…… 这样一个bark方法就带来了丰富多彩的变化。
在Java 中允许类定义中多个方法的方法名相同,只要它们的参数声明不同即可。这种情况下,该方法就被称为重载(overloaded ),这种方式就叫做方法重载(method overloading )。方法重载是实现程序多样性的一个重要手段。也可以称作多态的一种表现方式。
什么是成员方法
最佳答案类包括成员变量和方法两部分。成员变量表示类的属性,一数据域的形式表达,方法是数据的操作的定义。
在JAVA中,方法只能作为类的成员,也称为成员方法。方法操作类所定义的数据,以及提供对数据的访问的代码。大多数情况下,程序的其他部分都是通过类的方法和其他类的实例进行交互的。
在类中,除了变量外的都是成员方法。
方法中有一种是对成员变量进行初始化的,称为构造方法。构造方法之外的就是一般的方法了吧。
所以说成员方法分为构造方法和一般的方法。
相信关于成员方法和构造方法的知识,你都汲取了不少,也知道在面临类似问题时,应该怎么做。如果还想了解其他信息,欢迎点击合众百科的其他栏目。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息储存空间服务,不拥有所有权,不承担相关法律责任。如有发现本站涉嫌抄袭侵权/违法违规的内容,请发送邮件,一经查实,本站将立刻删除。