博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA笔记(六)面向对象--类和对象
阅读量:2094 次
发布时间:2019-04-29

本文共 2286 字,大约阅读时间需要 7 分钟。

JAVA笔记(六)面向对象–类和对象

引入:JAVA开发语言的核心为面向对象,什么是面向对象呢?

一、面向对象思想:

面向对象 是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。

但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用,所以,面向对象的开发更像是一个具备标准的开发模式。

在面向对象定义之中,也规定了一些基本的特征:

  • 封装:保护内部的操作不被破坏;
  • 继承:在原本的基础之上继续进行扩充;
  • 多态:在一个指定的范围之内进行概念的转换。

对于面向对象的开发来讲也分为三个过程:

  • OOA: 面向对象分析
  • OOD: 面向对象设计
  • OOP:面向对象编程

二、类和对象概念:

1.对象:

对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象

世界的万物都可以看做对象,例如我们身边的对象:

在这里插入图片描述

2.类:

是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法),将我们客观事实存在的对象共同属性和行为抽取而形成的东西:

在这里插入图片描述

如将我们不同的车共同属性抽取我们形成轿车类;

将张浩,李明两个对象共同属性抽取形成顾客类;

3.属性:

对象具有的各种特征(每个对象的属性都拥有特定值)

每个对象的每个属性都拥有特定值

例如:张浩和李明的年龄、姓名不一样

在这里插入图片描述

4.方法:

对象执行的操作

例如:李明作为收银员可以执行收银,打印账单,刷卡等操作。

在这里插入图片描述

5.类和对象的关系:

类是对象的模板,对象是类的实例。

类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。

类不能直接使用,对象是可以直接使用的。

类是抽象的概念,仅仅是模板,比如说:“人”

对象是一个你能够看得到、摸得着的具体实体

在这里插入图片描述

三、类和对象使用:

1.定义类(步骤):

  • 定义类名
  • 编写类的属性
  • 编写类的方法
public class 类名{
//定义属性部分(成员变量) 属性1的类型 属性1; 属性2的类型 属性2; ... 属性n的类型 属性n; //定义方法部分 方法1; 方法2; ... 方法m;}

定义一个学生的类,演示代码如下:

package cn.hz;/** * 定义学生的类 * @author hz * @version 1.0 */public class Student {
public int id; //定义属性:学生编号 public String name; //定义属性:学生姓名 public int age; //定义属性:学生年龄 //定义打印学生信息的方法 public void printInfo(){
System.out.println("姓名:"+name+",年龄:"+age); }}

2.创建对象:

类定义完成之后,肯定无法直接使用。如果要使用,必须依靠对象,那么由于类属于引用数据类型,同变量使用一样有两种方式:

方式一:先声明再实例化对象:

如:创建一个学生对象:

Student student=null;      //声明:   类名称   对象名称=null;student=new Student();     //实例化   对象名称=new  类名称();

方式二:边声明边创建对象:

如:创建一个学生对象:

Student student=new Student();   //  类名称  对象名称=new 类名称();

小结:

引用数据类型与基本数据类型最大的不同在于:引用数据类型需要内存的分配和使用。所以,关键字new的主要功能就是分配内存空间,也就是说,只要使用引用数据类型,就要使用关键字new来分配内存空间。

3.使用对象:

当一个实例化对象产生之后,可以按照如下的方式进行类的操作:

对象.属性:表示调用类之中的属性;

对象.方法():表示调用类之中的方法。

如:创建一个学生对象,并赋值学生姓名为张三,年龄为18,然后打印该同学信息,代码如下:

package cn.hz;/** * @author hz * @version 1.0 */public class StudentTest {
public static void main(String[] args) {
//创建学生对象: Student student=new Student(); //赋值:对象.属性 student.name="zs"; student.age=18; //打印: 对象.方法 student.printInfo(); }}

打印结果如下:

在这里插入图片描述

问题:赋值太麻烦,是否可以在创建的时候进行赋值?

回答:可以,后期可以通过构造方法完成对象初始化

总结:

在这里插入图片描述

转载地址:http://gkuhf.baihongyu.com/

你可能感兴趣的文章
Oracle | 给表和字段添加注释
查看>>
java比较日期大小及日期与字符串的转换【SimpleDateFormat操作实例】
查看>>
Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,oraclesequence
查看>>
java中System.exit()方法
查看>>
在hbase shell中过滤器的简单使用
查看>>
java静态方法和实例方法
查看>>
java多线程并发去调用一个类的静态方法,会有问题吗?
查看>>
关于JAVA中的static方法、并发问题以及JAVA运行时内存模型
查看>>
Java命令学习系列(一)——Jps
查看>>
java如何计算程序运行时间
查看>>
Java Calendar 类的时间操作
查看>>
Java]NIO:使用Channel、Charset(字符集)、使用Charset传递CharBuffer
查看>>
Eclipse下运行Maven项目提示缺少maven-resources-plugin:2.4.3
查看>>
Java 中int、String的类型转换
查看>>
比较两个JSON字符串是否完全相等
查看>>
删除JSONArray中的某个元素
查看>>
Linux下Tomcat重新启动
查看>>
使用HttpClient请求另一个项目接口获取内容
查看>>
HttpClient get和HttpClient Post请求的方式获取服务器的返回数据
查看>>
net.sf.json Maven依赖配置
查看>>