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

  • 相关阅读:
    retofit、ButterKnite
    [iOS笔记]Swift中的Optional类型
    [iOS笔记] 网络通信安全与证书
    [iOS]ReactiveCocoa playground配置
    NAT学习笔记
    [iOS学习笔记]runloop runMode方法调研
    Python 装饰器简单介绍
    cookie实现自动登陆原理
    iOS开发添加Reveal工具
    【iOS Programming: The Big Nerd Ranch Guide】【笔记】2
  • 原文地址:https://www.cnblogs.com/panyiquan/p/5243539.html
Copyright © 2020-2023  润新知