我是靠谱客的博主 紧张电脑,最近开发中收集的这篇文章主要介绍Java 基本一:类、对象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       

          首先Java是一门纯面向对象的语言。那么在说Java类和Java对象之前,先从面向对象的思想说起。面向对象,我所理解的是一种世界观,是一种观察世界、理解世界运行的一种方式。整个世界是一个超级大系统,大系统中有无数的小系统、组成无数小系统的又有各种等级的系统,最小单位的系统又由不同的个体相互组成。不同个体又由基本的个体组成。比如世界最基本的元素(暂且到这一层次,不涉及中字、电子、质子等),这些氧元素、碳元素、铁元素等相互作用相互联系组成基本物质,比如水,比如大分子蛋白质,这些物质又组成各种生命系统或者非生命系统,又相互作用组成更大的系统。最后形成整个世界。Java语言就是以这么奇妙方式去构建世界的。

        类是一些相同特征事物的抽象,而对象是类的具体实例。Java的语言构建的世界里,万物皆对象。最基本的元素就是那些Java的基本类型,boolean、long、int、byte、double 、float、short、char。

        例如:    public class Soldier {

    private  String name="小明";
    private int age="18";
    private String gunName="冲锋枪";

    public void shoot(){
        System.out.println(age+"岁的"+name+"拿着"+gunName+"射击");
    }
}

        声明一个士兵类,士兵类是一个 对士兵的抽象,士兵类包括属性:姓名 name,年龄 age,枪名gunName,包括一个行为射击shooting。那么 可以这么认为,一个类是由它的属性和行为组成。通俗的话说,这个士兵类是由它的姓名,年龄和枪,然后他还有一个可以射击的行为组成。当然士兵还可以有其它的属性比如衣服、鞋子等,还有其它属性比如吃饭、跑步等。但是在开发中,分析一个类的属性和行为,只保留业务相关属性和业务相关行为。其它的不保留。在Java类中还有一个特殊的行为,是构造方法,这个方法就是为了实例对象而来的,不写就默认不传参数的构造方法。

        对象就是类的一个实例了。

        例如:public class test {

    public static void main(String[] args) {
        
        Soldier soldier=new Soldier();
        soldier.shoot();
        
    }
}

        输出:18岁的小明拿着冲锋枪射击


        Test也是一个类,运行之后,机器默认执行Test类中main方法作为入口。

          解耦

         那么问题来了,也是最基本的问题,小明是一个士兵,那么肯定还有其它的士兵,比如需要小军士兵,那么需要再声明一个士兵类吗?比如Soldier1类是小军,Soldier2类是小天。这样做肯定不行,那么需要这么声明士兵类:

public class Soldier {

private String name;
    private int age;
    private String gunName;
    
    
    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public int getAge() {
        return age;
    }


    public void setAge(int age) {
        this.age = age;
    }


    public String getGunName() {
        return gunName;
    }


    public void setGunName(String gunName) {
        this.gunName = gunName;
    }


    public void shoot(){
        System.out.println(age+"岁的"+name+"拿着"+gunName+"射击");
    }

}

       


public class test {

    public static void main(String[] args) {
        
        Soldier soldier=new Soldier();
        soldier.setName("小明");
        soldier.setAge(18);
        soldier.setGunName("冲锋枪");
        soldier.shoot();
        
    }
}

        这样的话士兵类只有一个,不必声明Soldier1、Soldier2···Soldiern,无论小明士兵、小军士兵、都不由士兵类决定,而是交给Test类决定。这样做看似简单,却是以后开发中要一直考虑的大问题。

      

        那么军队不只有士兵组成,还有将军。

     public class General {

    private String name;
    private int age;
    private String gunName;
    private int level;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public String getGunName() {
        return gunName;
    }

    public void setGunName(String gunName) {
        this.gunName = gunName;
    }
    
    public void command(Soldier soldier){
        System.out.println(level+"级别的"+name+"将军命令"+soldier.getName()+"开枪");
        soldier.shoot();
    }
    public void shoot(){
        System.out.println(age+"岁的"+name+"拿着"+gunName+"射击");
    }
}

        将军可以命令士兵开枪,将军有等级,将军携带枪,也能开枪,也就是说将军也是士兵的一类。那么显然普通士兵和将军有相同的属性还有一些方法。Java中用继承来描述普通士兵和将军也是军人类。这就来到了继承。




  

最后

以上就是紧张电脑为你收集整理的Java 基本一:类、对象的全部内容,希望文章能够帮你解决Java 基本一:类、对象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部