什么是类,什么是对象

举例说明什么是类,什么是对象?

一句话:万物皆对象

类的概念:类是具有相同属性和服务的一组对象的集合。

1.为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个部分。

2.在面向对象的编程语言中,类是一个独立的程序单位,应该有一个类名并包括属性说明和服务说明两个主要部分。

对象的概念:对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位。

1.一个对象由一组属性和对这组属性进行操作的一组服务组成。

2.从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;

             3.它是一组属性和有权对这些属性进行操作的一组服务的封装体。

             4.客观世界是由对象和对象之间的联系组成的。

例子:

比如水果摊进了一批水果(就好比是类,所有果类的总称);

然后就去问卖家有哪些新鲜的水果;
店家说有苹果、梨、桃等等(这里的苹果、梨、桃就是对象);

人类(黑人、白人、黄种人)

         黑人类:一个黑人、n个黑人

白人类:一个白人、n个白人

狗类(京巴、腊肠、富贵、哈士奇、贵宾犬、秋田犬、吉娃娃、柴犬等等)

猫类(布偶猫、波斯猫、巴厘猫、狸花猫、挪威深林猫等等)

猫类是不是所有猫的总称,而具体的品种就是对象

话题:

世界上最贵的猫:挪威深林猫
也就是说对象是类的具体表达;
而类则是对象的抽象表达。

OOP思想(理解)

OO(Object Oriented,面向对象)是当前计算机界关心的重点,面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。

OOP(Object(对象) Oriented(面向的) Programming(编程),面向对象程序设计)三大思想(继承、封装、多态)

类和对象的关系是什么

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性( 属性 ) 和相同行为 ( 方法 ) 的对象。

类是对象的抽象,对象是类的实例

对象由什么组成

对象由什么组成:由一组属性和方法组成

例子:(使用周围的物体做案例)

汽车的案例:

属性:

品牌:法拉利

型号:F360 Spider

颜色:黄色

价格:380万元

方法:

发动

停止

加速

                  

狗的案例:

属性:

颜色:白色

方法:

如何定义一个类

语法:

publicclass类名{

                     // 定义的属性部分

属性1的类型属性名称;

                   属性2的类型属性名称;

属性n的类型属性名称;

          //定义的方法部分

方法1;

                   方法2

                   方法n;

           }

定义一个类的步骤:

定义类名à编写类的属性à编写类的方法

案例:

Pubicclass Dog{

 

}

如何定义一个方法

语法:

其中:

1、访问修饰符:方法允许被访问的权限范围,可以是 public、protected、private 甚至可以省略,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴

2、返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值

3、方法名:定义的方法的名字,必须使用合法的标识符

4、参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开

根据方法是否带参、是否带返回值,可将方法分为四类:

Ø 无参无返回值方法

Ø 无参带返回值方法

Ø 带参无返回值方法

Ø 带参带返回值方法

属性:

颜色:白色

方法:

案例:

Pubicclass Dog{

    // 属性

         String color = “白色”;

// 方法

Public void call(){

         System.out.println(“这只狗会叫”);

}

Public void Run(){

         System.out.println(“这只狗会跑”);

}

Publicvoid eat(){

         System.out.println(“这只狗会吃”);

}

}

 

如何创建一个类的对象

使用new关键字:是最常见创建对象的方式

语法:类名对象名= new 类名();

           Student stu = new Student();

前提:要有Student这个类

           Student类中有姓名、性别、年龄三个属性一个说的方法show()(案例实现)

使用类的属性和方法:

使用”.”操作符

对象名.属性  or对象名.方法名

什么是封装(理解)

封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节

封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口

什么是封装?

封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。

 

封装的好处:

        1、良好的封装能够减少耦合。

       2、类内部的结构可以自由修改。

       3、可以对成员进行更精确的控制。

        4、隐藏信息,实现细节。

Java第11章笔记的更多相关文章

  1. core java 第四章笔记

    import java.util.*; public class Employee { private static int nextid = 1; private String name; priv ...

  2. java第三章笔记

    java的基本程序设计结构: 1. 声明一个变量之后,必须用赋值语句对变量进行显示初始化,千万不能使用未被初始化的变量. 2.在java中不区分变量的声明与定义. 3.当参与/运算的两个操作数都是整数 ...

  3. Java第1章笔记

    第一章 计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版)  JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2 ...

  4. Java 第11章 类的无参方法

    类的无参方法 类的方法由哪几部分组成? 方法的定义: 1.访问权限修饰符 2.方法返回的数据类型 3.方法的名称 4.方法的主体 成员变量和局部变量的区别有那些? ~ 作用域不同 - 成员变量的作用域 ...

  5. Java第2章笔记

    1.什么是变量:在程序运行过程中它的值是允许改变的量 2.java中常用的数据类型分为四类八种  第一类:整型   int(整数类型)     byte(字节类型)    short(短整形)     ...

  6. Java第14章笔记

    Java 中无参无返回值和带参带返回值习题 编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. 要求通过定义无参带返回值的方法来实现,返回值为最大年龄 2. 方法中将​学生年龄保存在数组 ...

  7. Java第15章笔记

    字符串的概述 1.什么是字符串:零个或多个字符组成的有限序列 2.如何使用字符串:(使用字符串分为两步)          1)定义并初始化字符串          2)使用字符,对字符串进行一些处理 ...

  8. Java第12章笔记

    如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: //方法名为骆驼命名法 1. 访问修饰符:方法允许被访问的权 ...

  9. Java第3章笔记

    if基本语法: if(条件){// 表达式   // 代码块   } eg:    int a = 10;    if(a > 1){  System.out.println("内容& ...

随机推荐

  1. PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享

    第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 出现这种问题,解决方法大概有这几种: ...

  2. oracle 中从某天到某天一天一次执行某个函数

    DECLAREv_days INTEGER;v_start VARCHAR2(10);v_end VARCHAR2(10);v_3 INTEGER;v_enddays date;begin v_sta ...

  3. stm32阅读代码工具source insight

    不知道学stm32有没有这样的烦恼,想看一个项目的代码,但是用keil又发现建立工程太麻烦,单个打开文件又找不到函数和变量之间的依赖关系,变量和函数又不能高亮显示,linux下vim和emacs虽然很 ...

  4. GUI界面操作-实现简单的记事本

    wxPython编写界面程序的基本流程: 1.import wx   #导入wxPython的包 2.class App(wx.App)   #子类化一个应用程序类 3.def onInit(self ...

  5. Linux下新建服务

    1 首先在/etc/rc.d/init.d/下添加脚本 asr_cron #!/bin/bash # $Id: rc.redhat.asterisk -- ::43Z tilghman $ # # a ...

  6. 4A - 排序

    输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数 ...

  7. windows2003两台服务器,局域网之间不能互相访问

    准备在两台服务器之间,映射网络驱动器,但怎么也连不上了. 可以在网络邻居中看到对方的机器,但就是访问不到共享的文件,也无法做网络映射. 搜索了一下,发现在是因为防火墙中,没有把"文件和打印机 ...

  8. PAT 甲级 1011 World Cup Betting (20)(代码+思路)

    1011 World Cup Betting (20)(20 分) With the 2010 FIFA World Cup running, football fans the world over ...

  9. JVM 类加载器 (二)

    1.类加载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责 class 文件的加载,至于class文件是否能够运行则由Ex ...

  10. python爬虫_简单使用百度OCR解析验证码

    百度技术文档 首先要注册百度云账号: 在首页,找到图像识别,创建应用,选择相应的功能,创建 安装接口模块: pip install baidu-aip 简单识别一: 简单图形验证码: 图片: from ...