7.2类

Posted 一全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.2类相关的知识,希望对你有一定的参考价值。

7.2类

定义方法:

技术分享

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;
    }
View Code

 

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关键字可以调用成员变量和成员方法。

 

以上是关于7.2类的主要内容,如果未能解决你的问题,请参考以下文章

7.2 QToolBox抽屉式选项框

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

Part7 继承与派生 7.1继承的基本概念和语法 7.2 继承方式

7.2 Mybatis

7.2Servlet ---myeclipse配置Servlet

elasticsearch代码片段,及工具类SearchEsUtil.java