A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangjijin 中级黑马   /  2014-7-3 10:19  /  1931 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


类是由一组具有相同属性和共同行为的实体抽象而来的。对象执行的操作是通过编写类的方法来实现的。
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)        在类的外面,要用类的对象来调用。

1 个回复

倒序浏览
这个我也学过了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马