首页 > 编程语言 >JAVA基础_面向对象

JAVA基础_面向对象

时间:2024-05-31 14:59:29浏览次数:17  
标签:JAVA name 构造方法 对象 基础 Cat 面向对象 public String

类和对象

        面向对象(Object Oriented)是Java的编程范式,是一种对现实世界理解和抽象的方法。其中包括类、对象(实例)、属性、方法、等概念。

  • 类:类是一个模板,是一个抽象,它描述一类对象的行为和状态。
  • 对象:是类的一个实例,是具体的,有状态和行为。 
  • 属性:对象的状态称为属性,属性是一个变动的量,所以也称为变量。
  • 方法:对象的行为称为方法,一个类可以有很多方法。

        下图中白色小人为类(class),而具体的每个彩色小人为该类的对象(object)。每个对象有自己的属性,属性的值代表了对象的状态,如“小红人”的性别是男,年龄是18;每个对象有自己的方法,一个对象可以有多个方法,如“小红人”也可以吃饭和睡觉。

    

// 人类,定义类的属性及方法
public class People {

    String name;//姓名
    int age;//年龄
    String sex;//性别

    void sing() {//唱歌方法
    }
 
    void dine() {//吃饭方法
    }
 
    void sleep(){//睡觉方法
    }
 
}

        下图中猫为类(class),而由猫类实例出来具体的每只猫为该类的对象(object),每个对象有自己的属性,属性的值代表了对象的状态,如Cat对象1是一只大型英短蓝白,年龄是3岁;每个对象有自己的方法。一个对象拥有此类的所有属性及方法。

// 猫类,定义类的属性及方法
public class Cat{

    String breed;//品种
    String colour;//颜色
    String size;//大小
    int age;//年龄
 
    void eat() {//吃方法
    }
 
    void drink() {//喝方法
    }
 
    void events(){//活动方法
    }
 
    void sleep(){//睡觉方法
    }
}

 构造方法

        每个类都有构造方法。如果没有为类定义构造方法,Java 编译器会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,可以由零个或多个参数,一个类可以有多个构造方法。

构造方法示例:

// 猫类,演示构造方法
public class Cat{

    // 这是一个无参构造方法
    public Cat(){
    }
 
    // 这是拥有一个参数的构造方法,参数:name
    public Cat(String name){
        
    }
}

创建对象

        对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步: 

创建对象示例:

// 猫类,演示创建对象,运行代码将会打印:小猫的名字是:胖橘
public class Cat{

   // 这是拥有一个参数的构造方法,参数:name
   public Puppy(String name){
       System.out.println("小猫的名字是 : " + name ); 
   }

   public static void main(String[] args){
      // 下面的语句将创建一个Cat对象
      Cat cat= new Cat("胖橘");
   }
}

 访问变量方法

下面的例子展示如何访问实例变量和调用成员方法:

/**
 *	运行程序,产生如下结果:
 *	小猫的名字是:胖子
 *	小猫的名字是:瘦子
*/
public class Cat{

   String name;//这是一个变量
   
   // 这是拥有一个参数的构造方法,参数:name
   public Cat(String name){
      System.out.println("小猫的名字是:" +name); 
   }
   
   // 此方法为name赋值
   public void setName(String name){
       this.name = name;
   }
   
   // 此方法取name的值
   public String getName( ){
		return name;
   }
 
   public static void main(String[] args){
		/* 创建对象 */
		Cat cas = new Cat("胖子");
		/* 通过setName()方法来设定name */
		cat.setName("瘦子");
		/* 调用getName()方法获取name */
		ystem.out.println("小猫的名字是:" + cat.getName()); 
   }
}

标签:JAVA,name,构造方法,对象,基础,Cat,面向对象,public,String
From: https://blog.csdn.net/qq_41520587/article/details/139296877

相关文章

  • java调用科大讯飞离线语音合成SDK --内附完整项目
    科大讯飞语音开放平台基础环境搭建1.用户注册注册科大讯飞开放平台账号2.注册好后先创建一个自己的应用 创建完成后进入应用选择离线语音合成(普通版)可以看到我们开发需要的SDK,选择windowsMSC点击下载。3.选择你刚刚创建的应用,选择windows系统,选择离线语言合成(普通版)......
  • Java基础之JVM
    一、Java中的内存管理1、程序,无论是代码还是数据,都需要存储在内存中。JVM为Java程序提供并管理所需要的内存空间2、JVM内存分为堆(heap)、栈(stock)、方法区(method)三个区域,分别用于储存不同的数据。3、HotSpot是SunJDK和OpenJDK中所带的虚拟机(SunJDK和OpenJDK除了注释,代码实现......
  • 【Java代码调用华为云IoT MQTT】
    目录欢迎关注微信公众号:数据科学与艺术作者WX:superhe199下面是使用Java代码调用华为云IoTMQTT:importorg.eclipse.paho.client.mqttv3.*;importorg.eclipse.paho.client.mqttv3.persist.MemoryPersistence;publicclassHuaweiCloudMqttExample{publi......
  • java 字符串反射调用类
    步骤流程 步骤说明定义字符串:首先,你需要定义一个字符串,该字符串为你要调用的类的全限定名。通过反射获取类:使用反射机制,根据定义的字符串获取对应的类。调用方法:利用反射获取的类,调用其中的方法。详细步骤定义字符串在你的代码中定义一个字符串,代表要调用的类的全限定......
  • Java中进度丢失问题
    Java开发过程中我们有时会遇到一些有必要的运算,而一些项目尤其是金融相关的项目对这些运算的精度要求较高。那么为什么会出现精度丢失的情况,我们又该如何解决这种问题呢?问题原因首先计算机进行的是二进制运算,我们输入的十进制数字会先转换成二进制,进行运算后再转换为十进制......
  • 2024年网络安全学习指南!详尽路线图,从零基础到黑客高手的进阶之路!
    零基础小白,到就业!入门到入土的网安/黑客学习路线!建议的学习顺序:一、网络安全学习普法(心里有个数,要进去坐几年!)1、了解并介绍《网络安全法》2、《全国人大常委会关于维护互联网安全的决定》3、《中华人民共和国计算机信息系统安全保护条例(2011年修正)》4、《中华人民共......
  • 【Java笔记】第八章:面向对象的三大特性[封装、继承、多态]
    一、封装1.目前程序存在的问题:程序没有进行数据安全检测,可能出现业务逻辑问题2.private:私有的,被private修饰的内容,只能在本类中使用3.给私有化的属性提供公开的get和set方法(1)set方法:为属性赋值   publicvoidset属性名(数据类型变量名){      ......
  • 华为ODJAVA 7轮面试经历,期望薪资30K,80%的人都不会吧
    华为OD机试第一次做很难,我第一次接触这个机试,三道题一题不会,要想通过,前期不去LeetCode上刷题那是不可能的,好在这次面试有个华为的人事全程对接,可能是od那边真的很缺人,他们急迫想招人进去,然后给了一份常考机试题的答案给我了,一百多道,我大概花了5天时间,全部敲了一遍,机考链接给下......
  • javax.validation分组校验
    /*没有加分组groups的属于Default默认分组。添加分组groups的属于自定义分组,不属于默认分组。validation校验默认使用默认分组校验,不会校验自定义分组。因此如果需要校验自定义分组的字段,需要校验的时候加上自定义分组,如:Valida......
  • java模仿微博代码_Java相对时间转换 工具代码
    privateStringdateToRelativeTime(Datedate){SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Datenow=newDate();longbetween=(now.getTime()-date.getTime())/1000;//除以1000是为了转换成秒......