Java的面向对象基础(类、对象、方法和构造函数)

  • 面向对象的基本概念
    • 面向对象的设计思想
    • 什么是类
    • 什么是对象
    • 类的定义
  • 设计面向对象的例子
    • 步骤一:设计动物这个类
    • 步骤二:创建具体的动物
    • 步骤三:在类中添加方法
    • 方法返回类型
  • 类的构造函数
    • 基本内容
    • 构造函数例子

面向对象的基本概念

面向对象的设计思想

  1. 确定该问题由哪些事物组成,先用类模拟出该事物。
  2. 通过类间接的解决问题,自上而下设计(将大问题分为一个一个的小问题),从问题的一部分着手,一点一点地构建出整个程序。
  3. 用类来作为划分程序的基本单位。
  4. 对于需求不明确、变动较大、规模很大的问题非常合适。

什么是类

  1. 把一类事物的静态属性和动态可以执行的操作组合在一起所得的这个概念就是类。
  2. 类是抽象的,用来模拟一类事物,是一个概念。eg:天使
  3. 一旦被定义,类的概念就永远存在了。

什么是对象

  1. 对象是类的一个个体。
  2. 具体的、实实在在存在的事物。
  3. 生命周期是短暂的,会生成和消灭。

类的定义

 class Person{int age;void shout(){System.out.println("I am "+age);}}

解析:

  • age是类Person的属性,也叫做类数据成员、字段、域。
  • shout是方法,也叫类的成员变量。
  • shout方法可以直接访问同一个类中的age变量。

设计面向对象的例子

步骤一:设计动物这个类

世界上有非常多的动物,比如:狗,猫,鱼,鸟。这些动物都有一些共同点,比如:它们都有名字,体重,移动速度。所以我们设计一个类(Animal),来代表动物这样一种事物。

类: 动物(Animal)
状态: 名字,体重,速度

public class Animal {String name; //名字float weight; //体重int speed; //速度
}

步骤二:创建具体的动物

类就像一个模板,根据模板,可以创建一个个的具体的动物。一个个具体的动物,就叫一个个的对象 。new Animal() 就是在java中创建一个对象。

public class Animal {String name; //名字float weight; //体重int speed; //速度public static void main(String[] args) {Animal dog=new Animal();dog.name = "狗";dog.weight = 14.3f;dog.speed = 80;Animal cat=new Animal();cat.name = "猫";cat.weight = 4.8f;cat.speed = 50;}
}

步骤三:在类中添加方法

每个动物都有自己的叫声,所以为Animal这个类,设计一个方法: voice。

public class Animal {String name; //名字float weight; //体重int speed; //速度void voice(){System.out.println("叫声");}
}

方法返回类型

  • 有的方法是有返回类型的比如方法:
float getWeight(){return weight;
}

这个方法是用来获取每个动物的体重的,返回类型是float

  • 有的方法不需要返回值,这个时候就把返回类型设置为void,表示该方法不返回任何值,比如方法 “voice”.
void voice(){System.out.println("叫声");
}

类的构造函数

基本内容

  1. 特点:
  • 函数名与类名相同
  • 不能有返回值
  • 可以有参数,也可以没有参数
  • 一个类中可以有多个构造函数
  1. 说明:
    声明一个对象,系统首先为该对象分配内存,然后立即自动调用该对象的构造函数。
  2. 注意:
  • 任何一个类对象被生成时一定会调用该类的构造函数。
  • 无论一个类有多少个构造函数,生成一个类对象时只会调用其中的某一构造函数。

构造函数例子

public class Person { //类体声明private String name; //私有变量声明,带有默认初值private String gender; private int age;//构造函数public Person(String name, String gender, int age){this.name=name;this.gender=gender;this.age=age;}//显示函数public String display(){return "Person[name=" + name + ", gender=" +gender+ ", age=" + age + "]";}public static void main(String[] args) {Person person = new Person("Joanna", "female", 19); //创建Person类的对象personSystem.out.println(person.display()); //调用显示函数}
}

输出结果:

Java_面向对象基础(类、对象、方法和构造函数)相关推荐

  1. python定义一个dog类 类属性有名字毛色体重_全面了解python中的类,对象,方法,属性...

    python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗, ...

  2. 面向对象的类、方法和对象

    面向对象 第一章 你要学的重点知识点 类和对象 构建方法 访问权限 继承 多态(最重要) 抽象和借口 内存分析 其他知识点不是不重要,相对而言,最重要的是上面这几个 第二章 类和对象 画图纸 定义车的 ...

  3. Lua 面向对象基础-类和对象(一)

    目录 1. lua中创建对象 2.lua中定义类的思路 3.元表的概念 4.类的定义和实例化 5. 重写类的方法 lua是一门面向过程的脚本语言,lua语言对于事物.结构通通描述为 table,而类和 ...

  4. C++面向对象编程类对象的定义

    Ⅰ:类概念 一:类的构成 class 类名 {public:公有数据成员和成员函数:类的接口protected:保护数据成员和成员函数:private: 私有数据成员和成员函数: }://注意一定不要 ...

  5. JavaScript面向对象:类、方法、属性

    JavaScript是一种基于对象的语言,与传统面向对象语言(C#.C++)相比,JavaScript中没有类的概念,其继承有两种基本形式:基于对象的继承和基于类型的继承(原型链继承).无论哪种形式的 ...

  6. scala面向对象基础---类继承和特质

    一.类继承 传送门:Scala基础-类继承 Scala的类继承 调用超类的构造方法 重写超类的成员 3.1.不被继承的成员 3.2.不可重写的成员 3.3.无参方法与字段 子类型多态与动态绑定 抽象类 ...

  7. C++类对象的拷贝构造函数(转载)

    对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=100; int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面看一个类对象拷贝的简单例子. ...

  8. 实例化Java对象_Java面向对象基础之对象实例化

    1.实例化对象的过程可以分为两部分,例如下面代码: Person per = new Person(); 该代码分为两部分: 第一,声明对象:Person per,这部分是在栈内存中声明的,与数组一样 ...

  9. Scala面向对象基础--类和对象

    一.类和对象介绍 在Scala里,类是用关键字"class"开头的代码定义,它是用于创建对象的蓝图.一个类就是一个类型,不同的类就是不同的类型,一个对象的类型就是创建它用的那个类. ...

最新文章

  1. Material Design Lite,简洁惊艳的前端工具箱。
  2. leetcode—Best Time to Buy and Sell stocks III
  3. 需要自我总结的知识点
  4. 恒位油杯故障原因_抽油烟机常见故障及处理方法
  5. java中将数字颠倒的工具类,java开发中常用的数字工具类
  6. 关于FND_PROFILE与FND_GLOBLE
  7. IDEA中写jsp代码没有提示
  8. 日常工作记录---在虚拟机中进行slam建图
  9. 计算机组成原理中rr,计算机组成原理作业~第四章.doc
  10. [软件工程] UML 用例图详解
  11. 关于ajax同步状态及sucess,complete的顺序的理解
  12. NBA篮球运动员大数据分析决策支持系统
  13. 博主已开启评论精选什么意思_双十一前夕,小红书砸掉了博主的饭碗
  14. 浪潮之巅第十一章 — 幕后的英雄:风险投资(Venture Capital)
  15. 计算机软件专业英语考试题,计算机水平考试-软件设计师分类模拟题计算机专业英语(二)...
  16. 360wifi一直在启用中
  17. 【java简单小项目】勇者斗魔王小游戏
  18. JAVA挑战杯,挑战杯 | 物联网与云服务的结合,万物智能
  19. linux课程内容知识脉络,云计算学习路线教程大纲课件:Linux新手入门教程
  20. 有效的休息方式,如何休息才不会更疲惫

热门文章

  1. 关于vgdisplay VG Size中的小于符号
  2. 用于 Visual Studio Code 的 LaTeX Workshop
  3. Microsoft Query:基本操作
  4. Redis 实战篇:GEO 助我邂逅附近女神
  5. 【智驾深谈】一张图看清自动驾驶产业
  6. MySQL持久化实现UTF-8来解决乱码问题
  7. pandas循环插入行
  8. Python学习,元类type 反射 函数与方法 双下方法
  9. Clickhouse单机部署以及从mysql增量同步数据
  10. 一加手机怎么root权限_一加五,怎么获取ROOT权限