类与对象总结----K.x.

第一部分  概念理解及用法总结

一.类与对象的概念
            所有的编程问题,都是为了解决现实中的问题。
            所以类作为一个基本的单位,或者说是一种数据类型,是从现实生活中或者是思维中抽象出来的模型,是主观的(不同的人对同一问题抽象出来的类不同)、抽象的、一类现实事物的集合,用于解决实际问题。
           而对象则是具有类的特征的、客观的、实际的,具体的现实中的实体。
例如:张三是人这个类的一个对象

二.类的组成
       1.每一个类都具有相应的属性和方法(行为)。
              例如:人是一个类
                            属性:姓名,身高,年龄,性别…………
                            方法:吃饭,睡觉,唱歌,跑步…………

       2.类的方法又包括普通方法和构造方法
                   普通方法的格式:public 返回类型  方法名(参数类型 参数名){}
                   构造方法的格式:public 类名(数据类型 参数名){}
                     (*)若类中没定义构造方法,则系统默认生成一个默认的无参构造方法,只是 这个函数方法体  

                             中什么都没有。

              区别: 1.命名方式不同   普通方法根据一般命名规则命名,构造方法名同类名
                    2.普通方法一定有返回值数据类型,而构造方法无返回值数据类型

                                           3.用途不同  普通方法用途:表示对象的行为

                                                                               构造方法用途:

                                                                      1).实例化对象     类名 对象名 = new 构造方法();
                                                                      2).初始化对象的属性 类名 对象名=new 构造方法(“张三”);
三.方法重载
  普通方法和构造方法都可以进行重载。
            1.方法重载的条件:(1).方法名相同
                                           (2).方法的参数个数,参数类型和参数顺序必须有一个不同
                             (一“同”一“不同”)
            2. 如何调用
                        方法名相同,所以根据参数的个数,类型和顺序不同,判断调用哪一个函数。
            3.什么情况下使用
                      当一个类中的不同对象的属性个数、类型或顺序不同时,需要使用构造函数。
四.this关键字
        用途:1.用于区分相同的属性名和参数名  加this.的表示属性,没有家的表示参数
                   2.用于调用当前类中的构造方法(this后括号内的参数形式与所调用的构造方法相同)
五.值传递与引用传递
                1.值传递       (1).适用范围:适用于基本数据类型(8个)和String数据类型
                                     (2).传递方式:单项传递
                 2.引用传递   (1).适用范围:引用类型(类,接口,抽象类与数组)
                                     (2).传递方式:传递的是地址(双向传递)
                                                                    第二部分    如何用程序语言来实现
1.定义一个类
(1).首先新建一个命名为   类名.java   的文本文件
(2).定义类的基本格式:  public class 文件名{}
(3).定义类中属性的格式:  private 数据类型 属性名;
                  类的属性一般定义为私有的,因为私有数据类型不可以被类外的函数调用,所以每一个属性值要             

                  定 义以下两个函数(set和get):
                             public void set属性名(参数类型 参数名)
                                        {属性名=参数名;}//把主函数中传过来的实参赋给属性名
                             public 属性数据类型 get属性名()
                                        {return 属性名;}
(4).定义方法的格式:
                             public 返回类型  方法名(参数类型 参数名){}
2.实例化一个对象的格式:
                             类名 对象名 = new  类名();

 

例如:定义一个学生类

public class Student{

/定义学生类的/属性

public String name;

public int score;

 

//构造方法

public Student(String name){

System.out.println("调用了!");

this.name = name;

}

 

//构造方法重载

public Student(){

this("无名");//this关键字  表示要调用当前类中带一个字符串参数的构造方法。

}

 

//定义学生类的方法函数:学习

public void study(){

score++;

System.out.println(name+"学生正在学习,学分是"+score);

}

 

//学习方法的重载

public void study(int score){

this.score += score;

System.out.println(name+"学生正在学习,学分是"+this.score);

}

 

          //定义玩的方法

public void play(){

score--;

}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值