Java面向对象

什么是对象

世界万物皆为对象,凡是能看得见摸得着的所以东西都叫对象。对象是由属性和行为组成,属性是对象所具有的特征,而行为是对象可以做的动作。

>例如生活中常见的事物:汽车。汽车的品牌型号、颜色、轴距、车身大小等等都是汽车的属性;汽车向前行驶、倒车、开门等动作都叫汽车的行为。

什么是类

类:具有相同属性和行为一堆对象的集合或者叫抽象。

>同学是一种类,是所有来学校上课同学的统称,集合。

>程序员是一种类,是所有参与程序编写的员工的集合。

类与对象的关系

类是对象的抽象,对象的类的实例。对象的每个属性被表示为类中的一个成员变量,对象的每个行为成为类中的一个方法。

>例如同学是一个类,张三就是同学类的一个实例,是一个对象。张三的姓名、年龄、成绩等都是类的成员变量,而张三说话、行走、做作业等行为就是类的方法。

代码实例:

public class Student {  //定义一个名为Student的类

//定义成员变量name、age、javaScore

String name;

int age;

double javaScore;

public void say(){  //定义一个名为say的方法

int age = 10;   //定义局部变量

System.out.println("该学生姓名是:"+name+"\n该学生年龄是:"+age+"\n该学生成绩是:"+javaScore);

}

}

上述代码中需要注意以下几点:

1. 类名首字要大写,不能是关键字;

2. static尽量少用,不必要的麻烦;

3. 成员变量又叫全局变量,可以不用赋初始值,为默认值;

4. 局部变量必须赋初始值,另外局部变量只在方法域中起作用。

类的实例化

我们在创建了一个类之后,就需要对类进行实例化,使用类,如下面代码:

public static void main(String[] args) {

Student stu = new Student();   //实例化一个Student类

stu.name = "张三";             //给每一个属性赋值

stu.age = 18;

stu.javaScore = 95;

stu.say();                     //调用类的方法

}

上面代码运行后的结果是:

该学生姓名是:张三

该学生年龄是:18

该学生成绩是:95.0

如果是存储一组学生信息,则需要用数组对Student类进行实例化,如下面代码:

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

Student[] stu = new Student[3];       //实例化长度为3的Student类数组,存储3名同学信息

Student student = null;

for (int i = 0; i < stu.length; i++) {

student = new Student();

System.out.println("请输入学生姓名:");

String name = s.next();

System.out.println("请输入学生成绩:");

double score = s.nextDouble();

student.name = name;

student.javaScore = score;

stu[i] = student;

}

for (Student ss : stu){

System.out.println("学生姓名:" + ss.name + "   成绩是:" + ss.javaScore);

}

}

当我们输入“张三、100、李四、90、王二、80”运行结果如下:

学生姓名:张三   成绩是:100.0

学生姓名:李四   成绩是:90.0

学生姓名:王二   成绩是:80.0

栈、堆

##栈与堆的区别

1. 栈空间小,堆空间大;

2. 所有的数据都是放在栈与堆里面的;

3. 栈运行快,对运行慢;

4. 所有的基本类型以及引用变量本身都放在栈中;

5. 引用所指向的对象都放在堆中;

6. 运行方法都放在栈中,其中main方法放在最底层;

7. 入栈的方法都要被执行,并遵行先入后出的原则。

java泰拉轴距_Java面向对象相关推荐

  1. java清空字符串_java面向对象,垃圾回收机制

    一.类的属性 属性用于定义该类或该类对象包含的数据或者说静态特征.属性作用范围是整个类体. 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化. 二.UML图 三.类和对 ...

  2. java 面向组件_Java 面向对象

    面向对象: 1, 面向过程的思想 准备去一个地方: 先买车, 挂牌, 开导航, 踩油门, 过黄河, 穿越珠穆朗玛峰... 2, 面向对象的思想 我开着车去, 车怎么去随便 所有去这个地方的信息, 全部 ...

  3. java五大原则_Java面向对象的三大特征和五大原则

    Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问 ...

  4. java final对象_java面向对象基础_final详细介绍

    一.final关键字 1.final修饰的成员变量,其实就是常量 public class Example01 { public final String userName="小李" ...

  5. java购物车设计_Java面向对象课程设计——购物车

    Java面向对象课程设计--购物车 小组成员:余景胜.刘格铭.陈国雄.达瓦次仁 一.前期调查 流程 客人(Buyer)先在商城(Mall)中浏览商品(Commidity),将浏览的商品加入购物车(Sh ...

  6. 斗地主Java课程设计_JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记录 注:这里只有部分提交记录,详细的提交记录在团队 ...

  7. java封装例题_java面向对象编程类的封装接口和基本类库练习题

    面向对象编程基本知识练习 一.判断题 1.不需要定义类,就能创建对象.() 2.构造方法用于给类的 private 实例变量赋值.() 3.对象一经声明就可以立即使用.() 4.在定义变量和方法时,必 ...

  8. java 接口对象_Java面向对象之接口——interface

    Java面向对象之接口--interface 什么是接口 一般计算机中的接口分为硬件接口和软件接口. 硬件接口:是指两个硬件设备之间的连接方式,既包括物理上的接口,还包括逻辑上的数据传送协议. 软件接 ...

  9. 网上选课系统java大作业_Java面向对象设计大作业——公选课选课系统

    功能调查与系统功能框架图 功能 本系统模拟公选课选课系统,由学生或管理员使用该系统,管理员可以自定义增加或删除课程,学生可以进行选课和查看已选课程. 系统功能框架图 类的设计(UML类图) 类说明 A ...

最新文章

  1. 一文了解神经网络的基本原理
  2. python在线课程-开始网上在线深度学习python课程
  3. unittest+discover批量处理自动化脚本
  4. sqlite to mysql_SqliteToMysql官方版
  5. 解决centos KDE命令提示符和文字不紧贴的问题
  6. matlab7.0.4 license,MATLAB 7.0安装??License Manager Error-9~唉
  7. 从零开始搭二维激光SLAM --- Karto的前端实现与解读
  8. 数据分析--优化模型
  9. 计算机网络原理最详细解说
  10. 【软件测试】软件测试过程模型
  11. Linux上如何安装微信! 或登录网页版微信提示:为了你的帐号安全,此微信号不能登录网页微信。你可以使用Windows微信或Mac微信在电脑端登录。
  12. 美团点评Java一二面过,三面“凉凉”~复习备战“金三春招季
  13. 【Java】使用JavaMail发送qq邮件
  14. html文字发亮_css实现发光文字及一点点js特效
  15. hbuilder运行uniapp,微信开发者工具打开但没有运行项目
  16. 计算机网络技术中,分组交换技术在计算机网络技术中的作用及特点是什么?
  17. python画图小猪佩奇动画片全集_用Python画小猪佩奇
  18. (转)C++进程间和线程间通信
  19. Amber中对体系的距离角度和二面角加以限制
  20. CSS定位—静态定位、相对定位、固定定位、绝对定位、粘性定位

热门文章

  1. jsp内置对象--session
  2. Leetcode--55. 跳跃游戏
  3. mybatis java类注解式_Spring整合Mybatis注解方式
  4. python if else用法同一行_在Python的同一行中使用if else for和del吗?-问答-阿里云开发者社区-阿里云...
  5. mac怎么合并两个容器_Mac怎么合并文件夹?macz不容错过的苹果mac教程分享
  6. Relu神经网络输出预测全为0或1,对所有输入样本的预测概率也相同
  7. python读取图像矩阵文件并转换为向量
  8. Leetcode unique-paths
  9. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 11丨产品销售分析 III【难度中等】
  10. Windows 10 使用 Kali Linux子系统