zoukankan      html  css  js  c++  java
  • Java从零开始学十一(类和对象)

    一、面象对象

    二、什么是类

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

    简单讲类是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

  • 相关阅读:
    Kafka项目实战-用户日志上报实时统计之应用概述
    ElasticSearch实战-编码实践
    ElasticSearch实战-入门
    Django如何渲染markdown
    理解相似矩阵
    从向量空间的角度来理解方程组有无解的问题
    凸优化学习笔记(1)-基础概念
    Django如何与JQuery进行数据通信?
    JQuery学习笔记之属性与样式
    JQuery学习笔记之选择器
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4294079.html
Copyright © 2011-2022 走看看