类是由一组具有相同属性和共同行为的实体抽象而来的。对象执行的操作是通过编写类的方法来实现的。 
1)        类的方法 
在前面我们学到了,世界是由对象组成的,对象的行为,即对象能做什么,在程序中叫方法。我们还知道:在类里面只有两样:属性和方法。上一次课学习了类的属性,今天来学习类的方法。 
先举一个例子:前几天天气变化无常,搞得我有点感冒,我就去看医生,我不会去看警察,为什么呢,因为医生会看病,他有看病的功能,我到了医院,就得去找医生,当然就是找一个具体的医生了,他就是一个对象,医生作为一个对象,他有姓名,性别,科室等属性,他还有看病的功能,能给我看病,医生所具有的这种能看病的功能,也就是他能做的事情,我们在程序里就叫做方法。 
再举一个例子:我是一个老师,一个具体的对象。我有姓名、性别、年龄,这是我具有的属性,我还有讲课的功能,这就是我能做的事情,也就是我的方法,一个老师所具有的方法。 
对象具有的功能或行为,在程序中叫方法。 
而在程序中就是用一段代码来描述这些功能和行为,由此我们知道: 
a)        定义:具有一定功能的一段代码 
b)        作用:用来完成相应的功能 
c)        代码示例:编写老师类,写一个方法,实现讲课功能(对方法有感性认识) 
1.        类中只有属性和方法,方法中的代码用来描述方法的实现过程 
d)        讲解电动狮子: 
1.        特点:只要装上电池,按动按钮,电动狮子就会跑动。 
2.        分析: 
a)        在玩电动玩具时,我们只要按动按钮,电动狮子就能奔跑,我们不用知道它为什么能跑。我们只要会按按钮就行了。 
b)        电动狮子能叫能跑的内部实现就相当于类中的方法。 
e)        特点: 
1.        类的方法定义类的某种行为(或功能),被封装在类中,实施细节被隐藏。 
2)        如何定义类的方法 
a)        通过以上对方法的了解,我们来看一下方法中包括了哪些东西,我们知道:类有类名,变量有变量名,所以方法也有方法名,方法要执行的特定的操作,我们用一段代码来描述这个操作,所以方法就要有一段代码,我们把这段代码写在方法体中,因此方法有方法体,方法还有第三个部分,那就是返回值类型,很快我们就会具体学习一下什么是方法的返回值类型,现在先把返回值类型这个概念记住。 
b)        类的方法包括3个部分 
1.        方法的名称 
2.        方法返回值的类型 
3.        方法的主体 
c)        语法: 
public  返回值类型  方法名()  { 
//这里编写方法的主体 
} 
1.        步骤1:定义方法名和返回值类型 
2.        步骤2:在{}中编写方法体,也就是方法的要执行的操作 
在步骤1中,我们要给方法起名字,要遵守一定的规范 
d)        方法的命名规范 
1.        如何给方法起名字? 
a)        必须以字母、‘_’或‘$’开头 
b)        可以包括数字,但不能以它开头 
2.        遵循的命名规范 
a)        通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写 
e)        方法的返回值 
1.        举例:我去看医生的时候,医生问了我N多问题,看了又看,然后一语不发,就把我给打发走了。大家说医生是不是这样看病的呢?他是不是应该给我开点药啊。我使用了医生的看病的功能,也就是他的看病的方法,我希望他能给我开个药方,让我去拿药治病,也就是说:我想让医生的看病方法返回个东西给我,那就是药方。这就是方法的返回值。 
2.        再举一个例子:妈妈让我去打酱油,我就出去买,我是不是要把酱油交给妈妈啊。我能完成买酱油这样一个功能,也就是说我有买酱油的方法,妈妈就使用了这个方法,那么妈妈是不是希望我在执行完买酱油这个方法后,把酱油交给她。这也是方法的返回值,返回的值和期望的值应该是一样的。 
3.        不要返回值的例子:要是妈妈给我钱,让我去买糖吃,那么我还要不要把糖带回去给妈妈?当然不用了。我买了糖后,自己就处理了(吃掉),妈妈并不希望得到任何东西,也就是说我不用返回给妈妈任何东西,这时,就说:我买糖这个功能,也就买糖的方法不需要返回值。 
4.        在现实生活中有这两种情况,那么在程序中也有 
5.        在类的方法中返回值也分这两种情况 
a)        如果方法没有返回值,返回类型为void 
1.        语法: 
public void 方法名(){ 
        方法执行的操作 
} 
b)        如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型 
1.        语法: 
public 返回值类型 方法名(){ 
        return 返回值 
} 
2.        注意:在方法声明中返回值类型(方法名前面的类型)和方法体中返回值的类型(return语句后面的值)一定要相同。否则就会出错。 
public class Teacher{ 
    String name = "张三"; 
    public void getName(){ 
 
            return name; 
 
    } 
   …… 
} 
f)        一个方法里不能再定义方法 
1.        方法不能嵌套 
g)        常见错误: 
public class School{ 
     // …… 
      public static void main(String[ ] args){ 
        //   …… 
           return "襄樊学院! "; 
      } 
} 
public class Student{ 
     public double getInfo(){ 
          double weight = 95.5; 
          double height = 1.69; 
          return weight, height; 
     } 
} 
3)        方法调用 
a)        妈妈让我打酱油,并不需要知道我是如何打酱油的,只要我能把酱油打回来交给她就行了;妈妈给让我自己买糖吃,只要我自己去买来吃就行了,妈妈不需要知道我是怎么买的糖,也不需要知道我是怎么吃的。 
b)        方法的特点: 
1.        当使用方法时,并不需要知道方法体中是如何实现的,只要知道哪个类拥有想要使用的方法即可 
2.        方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果 
c)        方法调用:在程序中使用方法的名称,就可以执行方法中包含的语句 
对象名.方法名(); 
d)        JAVA中类是程序的基本单元 
e)        每个对象需要完成特定的应用程序功能。当需要某一对象执行一项特定操作时,能过调用该对象的方法来实现 
f)        示例:小明过生日,爸爸送他一个电动狮子玩具,编程测试这个狮子能否正常工作 
1.        分析: 
a)        需要两个类:一个电动狮子类,一个测试类 
b)        电动狮子类有两个方法:一个是狮子叫,一个是狮子跑 
c)        测试类用来检测跑和叫的功能是否正常。 
2.        代码: 
a)        电动狮子类: 
public class AutoLion { 
        String color = "黄色"; 
 
        public void run() { // 方法1:跑 
                System.out.println("正在以0.1米/秒的速度向前奔跑。"); 
        } 
 
        public String bark() { // 方法2:叫 
                String sound = "吼"; 
                return sound; 
        } 
 
        public String getColor() { // 方法3:获得颜色属性 
                return color; 
        } 
 
        public String showLion() { // 方法4:描述狮子特性 
                return "这是一个" + getColor() + "的玩具狮子!"; 
        } 
} 
b)        测试类 
public class TestLion { 
        public static void main(String[] args) { 
                AutoLion lion = new AutoLion(); 
                System.out.println(lion.showLion()); 
                lion.run(); 
                System.out.println(lion.bark()); 
        } 
} 
3.        分析: 
a)        可以在类的方法中调用该类另一个方法 
b)        可以在一个类的方法中调用另一个类的方法 
c)        调用的方式不同: 
1)        类中可以直接调用。 
2)        在类的外面,要用类的对象来调用。 
 |   
        
 
    
    
    
     
 
 |