码迷,mamicode.com
首页 > 编程语言 > 详细

Java从零开始学十一(类和对象)

时间:2015-02-16 16:47:11      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

一、面象对象

技术分享

技术分享

二、什么是类

我肯定说,不知道、不清楚。

简单讲类是java中的基本单元,类是具有相同特性和行为的对象集合

三、类的定义

3.1、类的定义

class 类名称{
数据类型  属性 ;
….                           
 
public 返回值的数据类型 方法名称(参数1,参数2…){
    程序语句 ;    
     [return 表达式;]
}
}
 

3.2、类包含:属性和方法(行为)

package com.pb.demo2;
/*
 * 人类
 */
public class Person {   //Persion为类名
    /*
     * 属性,name,sex,age
     */
            public String     name;     //名字
            public String     sex ;        //性别
            public int         age;        //年龄
            
            /*
             *方法(行为) 
             */
            //吃饭
            public void eat(){
                System.out.println("吃饭");
            }
            //工作
            public void work(){
                System.out.println("工作");
            }
}

 四、创建对象

对象是类的实例

package com.pb.demo2;

public class PersonTest {

    public static void main(String[] args) {
        //创建Person类的对象
        Person person=new Person();
        //调用Person类的方法
        person.eat();
        person.work();
    }

}

五、有参数的方法

package com.pb.demo2;
/*
 * 人类
 */
public class Person {   //Persion为类名
    /*
     * 属性,name,sex,age
     */
            public String     name;     //名字
            public String     sex ;        //性别
            public int         age;        //年龄
            
            /*
             *方法(行为) 
             */
            //吃饭
            public void eat(String name){   //传入一个String类型参数
                System.out.println(this.name+"邀请"+name+"一起吃饭");
            }
            //工作
            public void work(){
                System.out.println(name+"的工作理念是,干活挣钱有饭吃!");
            }
}

测试类

package com.pb.demo2;
/*
 * 测试类
 */
public class PersonTest {

    public static void main(String[] args) {
        //创建Person类的对象
        Person hanbing=new Person();
        hanbing.name="韩冰";   //姓名赋值
        hanbing.age=22;            //年龄
        hanbing.sex="女";            //性别
        hanbing.eat("刘顿");
        hanbing.work();
        
        
        
    }

}

结果:

韩冰邀请刘顿一起吃饭
韩冰的工作理念是,干活挣钱有饭吃!

六、类方法的组成

技术分享

共有5部分组成,访问修饰符,返回值类型,方法名,参数列表,方法体

七、方法重载

7.1、方法重载

方法名相同,参数项不同和(访问修饰符和返回值类型)无关

例如:

package com.pb.demo2;
/*
 * 人类
 */
public class Person {   //Persion为类名
    /*
     * 属性,name,sex,age
     */
            public String     name;     //名字
            public String     sex ;        //性别
            public int         age;        //年龄
            
            /*
             *方法(行为) 
             */
            //吃饭
            public void eat(String name){   //传入一个String类型参数
                System.out.println(this.name+"邀请"+name+"一起吃饭");
            }
            //工作
            public void work(){
                System.out.println(name+"的工作理念是,干活挣钱有饭吃!");
            }
            //工作
            public void work(String contect){
                System.out.println(name+"的工作理念是: "+contect);
            }
}

测试类:

package com.pb.demo2;

import java.util.Scanner;

/*
 * 测试类
 */
public class PersonTest {

    public static void main(String[] args) {
        /*//创建Person类的对象
        Person hanbing=new Person();
        hanbing.name="韩冰";   //姓名赋值
        hanbing.age=22;            //年龄
        hanbing.sex="女";            //性别
        hanbing.eat("刘顿");
        hanbing.work();
        */
        Scanner input = new Scanner(System.in);
        Person guest=new Person();
        System.out.println("*********测试**********");
        System.out.println("请输入姓名:");
        String name=input.next();
        guest.name=name;          //为对象姓名赋值
        System.out.println("请输入年龄:");
        int  age=input.nextInt();
        guest.age=age;             //为对象年龄赋值
        System.out.println("请选择性别:");
        System.out.println("1、男   2、女");
        switch(input.nextInt()){
        case 1:
            guest.sex="男";    //为对象性别赋值
            break;
        case 2:
            guest.sex="女";    //为对象性别赋值
            break;
            default:
                System.out.println("输入错误");
                return;
        }
        //调用不带参数的work方法
        guest.work();
        System.out.println("请输入新的工作理念:");
        String contect=input.next();
        //调用带参数的work方法
        guest.work(contect);
    }

}

结果:

*********测试**********
请输入姓名:
张三
请输入年龄:
22
请选择性别:
1、男   2、女
1
张三的工作理念是,干活挣钱有饭吃!
请输入新的工作理念:
挣钱,取老婆
张三的工作理念是: 挣钱,取老婆

 八、成员变量和局部变量

成员变量是定义在类中有变量,在整个类中都有效都可以作用

局部变量在方法中声明的变量,只在这个方法中有效

当成员变量和变量同名时,可以使用this关键字来调用成员变量,如果不加this默认调用局部变量

九、判断下列哪些是方法重载

public void cal(int x,int y,int z){...}

A:public int cal(int x,int y,float z){return 0;}

B:public void cal(int x,int y,int z){return 0;}

C:public int cal(int x,int z){....}

D:public void cal(int x,int y,int z){...}

答案为:A,C

下一题:

A:int f1(){}    int f1(int a){}

B:void f1(int a){}   int f1(int a){}

C:void f1(){}   int f1(int a){}

D: int f1(int b){}  int f1(int a){}

答案为:A,C

Java从零开始学十一(类和对象)

标签:

原文地址:http://www.cnblogs.com/liunanjava/p/4294079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!