定义方法:
7.2.1类的构造方法
在类的成员方法之外,还存在一种特殊的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,每当类实例化一个对象时,类都会自动调用构造的方法。
构造方法定义语法格式:
public book(){
//。。。构造方法体
}
***public 构造方法修饰符
***book 构造方法的名称
在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初初始化。
public class Book { //构造方法 //方法名和类名 一样 //对构造参数而言,没有返回值,不需要加void //只要自定义了构造方法,就不会自动添加默认构造方法 Book() { //完成初始化 name="默认书名"; } Book(String bookname) { //初始化 name=bookname; } Book(String name,String category) { //初始化 this.name=name; //this关键字代表类的本身 this.category=category; }
7.2.2成员变量
在Java中对象的属性称为成员变量,也可称为属性。
成员变量对应于类对象的属性。
在Java中,使用class关键字来定义类。成员变量的类型可以设置为Java中合法的数据类型,其实成员变量就是普通的变量,可以为他设置初始值,也可以不为其设置,如果不设置初始值,则会有默认值。
7.2.3成员方法
在Java中使用成员变量方法对应于类对象的行为。
成员方法的格式:权限修饰符 返回值类型 方法名(参数类型 参数名)
{ //方法体
retuin (返回值);
}
一个成员方法可以有参数,这个参数可以是对象也可以是基本数据类型的变量,同时成员方法有返回值和不返回任何值的选择,如果返回方法需要返回值可以在方法体中使用return关键字,使用这个关键字后,方法的执行将被终止。
注意:JAVA语言中的成员方法无法返回值可以使用void关键字表示。
成员方法的返回值可以是计算结果也可以是其他想要的数值,对象,返回值类型要与返回的值类型一致。
再成员方法中可以调用其他成员方法和类的成员变量。同时在成员方法中可以定义一个变量,这个变量为局部变量。
如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行访问。
成员方法的分类:
上课讲课:
package 面向对象编程; public class Book { //构造方法 //方法名和类名 一样 //对构造参数而言,没有返回值,不需要加void //只要自定义了构造方法,就不会自动添加默认构造方法 Book() { //完成初始化 name="默认书名"; } Book(String bookname) { //初始化 name=bookname; } Book(String name,String category) { //初始化 this.name=name; //this关键字代表类的本身 this.category=category; } //属性 成員变量 //书名 String name; //書的類別 String category="其他"; //内容 String content="";//不是null //价格 double price=10; //成員方法 //方法的表现形式之一:没有返回值(void),没有传入参数() void print() { System.out.println("讀這本书的書名叫做《"+name+"》的書"); System.out.println("我读的书的内容"+content); } //表现形式之二:没有返回值(void),有传入参数(数据类型 参数名) void write(String mycontent) { System.out.println("我写的内容:"+mycontent); if(content.length()>=1000) { return; } content +=mycontent; System.out.println("我写完之后的内容:"+content); } //表现形式之三:有返回值()没有传入参数 String read() { //返回值 不光跳出循环,直接跳出方法 return content; } //表现形式之四:有返回值,有传入参数 //卖书 //根据卖出的数量计算并返回钱数 double sell(int count) { return (price*count); } }
上课讲义
package 面向对象编程; public class Text { public static void main(String[] args) { //构造一本书 Book myBook=new Book("JAVA基础教程","java教程类");//默认构造方法 //myBook.name="JAVA基础教程"; System.out.println("类别="+myBook.category); myBook.content="教程类"; //myBook.category="JAVA教程类"; myBook.content="第一章"; String str=myBook.read();//成员方法 System.out.println("读出的内容="+str); myBook.write("JAVA的发展史"); str =myBook.read(); int c=3;//卖出的本数 System.out.println("读出的内容="+str); System.out.println("卖"+c+"本书的钱数"+myBook.sell(3)); myBook.print(); System.out.println(); //第二本书 Book myBook1=new Book(); myBook1.name="战争与和平"; myBook1.category="名著类"; System.out.println("类别="+myBook1.category); myBook1.read(); myBook1.print(); } }
上课讲义2
输出:
类别=java教程类
读出的内容=第一章
我写的内容:JAVA的发展史
我写完之后的内容:第一章JAVA的发展史
读出的内容=第一章JAVA的发展史
卖3本书的钱数30.0
讀這本书的書名叫做《JAVA基础教程》的書
我读的书的内容第一章JAVA的发展史
类别=名著类
讀這本书的書名叫做《战争与和平》的書
我读的书的内容
7.3.4this关键字
this关键字被隐式的用于对象的成员变量和方法。
this关键字可以调用成员变量和成员方法。