黑马程序员入学blog ...

java 面向对象的语言

对象:真实存在的唯一的实物。

比如:我家的狗,

类: 实际就是对某种类型事物的共性属性与行为的抽取。  抽象的概念。。。   比如说:车     你知道我值的是哪辆车吗?

我们从小的时候就不断的接触很多的对象,我们的大脑就会把这些具备相同属性与行为的事物进行分类。

如果还不明白的话看下图:

下面的对象具备着类的基本属性(轮子、排气管、颜色..)  就可以称得上车了 。 类就如一张造汽车的图纸,一个抽象的概念。

在现实生活中就存在对象与类这两种事物。计算机是服务员人类的,为了让计算机更加接近我们的生活,这时候就出现了面向对象的计算机语言。

面向过程的代表(C语言)-------->侧重于过程

面向对象的代码(Java语言)-------->侧重的是对象,找合适的对象做适合的事情

下面用一张图片来解释下面向过程和面向对象的区别:

现实生活中:对象--------------------->类

在Java中:类--------------------------->对象

面向对象的计算机语言核心思想:找合适的对象做适合的事情。


如何找合适的对象:

1.sun已经定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。

2.自定义类,通过自定义类来创建对象使用。

初学者应该先学自定义类   先学习语法和关键字  这样到时才看的懂sun写好的类。

自定义类创建对象的三步骤:
1. 自定义类。
格式:
class 类名{

事物的公共属性使用成员变量描述。

事物的公共行为使用函数描述。
}

2. 通过自定义类创建对象。
格式: 
类名 变量名 =  new 类名();

3. 访问(设置)对象的属性或者调用对象的功能。
1.访问对象属性的格式:
对象.属性名.
2.设置对象的属性:
对象.属性名 = 数据。
3. 调用对象的功能
对象.函数名();

需求:使用Java描述一个汽车类,汽车具备轮子数、名字、颜色三个属性,还具备跑的功能行为。

  1. //车类
  2. class Car{
  3.  
  4. //事物的公共属性使用成员变量描述。
  5. String name; //名字的属性
  6.  
  7. String color; //颜色属性
  8.  
  9. int wheel; //轮子数
  10.  
  11. //事物的公共行为使用函数描述。
  12. public void run(){
  13. System.out.println(name+"飞快的跑起来啦...");
  14. }
  15. }
  16.  
  17. class Demo1
  18. {
  19. public static void main(String[] args)
  20. {
  21.  
  22. //使用了Car类声明了一c变量, c变量指向了一个车对象。
  23. Car c = new Car();
  24. //设置车对象的属性值。
  25. c.name = "BMW";
  26. c.color = "白色";
  27. c.wheel = 4;
  28. //访问车对象的属性值
  29. System.out.println("名字:"+ c.name+" 颜色:"+ c.color+" 轮子数:"+c.wheel);
  30. c.run();
  31.  
  32. }
  33. }

结果:

名字:BMW 颜色:白色 轮子数:4

BMW飞快的跑起来了。

如果下面没有车的赋值话  变量全部输出初始化值:名字:null 颜色:null 轮子数:0

下面参考基本数据类型的初始化值:

布尔值: boolean默认false

字符: char,

整数:byte,short,int,long为0

实数: float,double为double类型的0.0

对象引用为null

JAVA_SE基础——23.类的定义的更多相关文章

  1. JAVA_SE基础——19.数组的定义

    数组是一组相关数据的集合,数组按照使用可以分为一维数组.二维数组.多维数组 本章先讲一维数组 不同点: 不使用数组定义100个整形变量:int1,int2,int3;;;;;; 使用数组定义 int ...

  2. Java基础 - 面向对象 - 类的定义

    package mingri.chapter_6; import java.util.Scanner; public class Person { /* * 类变量 * 定义方法: * 数据类型 变量 ...

  3. 二十三. Python基础(23)--经典类和新式类

    二十三. Python基础(23)--经典类和新式类 ●知识框架   ●接口类&抽象类的实现 # 接口类&抽象类的实现 #①抛出异常法 class Parent(object):    ...

  4. C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误

    c#类的定义规范 字段与属性的比较: 字段: 字段主要是为类的内部做数据交换交互使用,字段一般是private 字段可以赋值,也可以取值 当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是 ...

  5. C++学习4-面向对象编程基础(面向对象概念,定义类,定义对象)

    什么是面向对象? 在软件的设计过程中的两种方式: 把程序按照算法的执行步骤来拆解,一步步实现,这是面向过程编程: 把程序按照现实世界的理解,分成不同对象,通过多个对象之间的相互作用,来完成程序的最终功 ...

  6. C++基础学习8:类的定义(class)

    先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到 ...

  7. c++学习笔记之基础---类内声明函数后在类外定义的一种方法

    在C++的“类”中经常遇到这样的函数, 返回值类型名 类名::函数成员名(参数表){ 函数体.} 双冒号的作用 ::域名解析符!返回值类型名 类名::函数成员名(参数表) { 函数体. } 这个是在类 ...

  8. [.net 面向对象编程基础] (23) 结束语

    [.net 面向对象编程基础] (23)  结束语 这个系列的文章终于写完了,用了半个多月的时间,没有令我的粉丝们失望.我的感觉就是一个字累,两个字好累,三个字非常累.小伙伴们看我每篇博客的时间就知道 ...

  9. JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别

    黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看  JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方 ...

随机推荐

  1. [BZOJ1602] [Usaco2008 Oct] 牧场行走 (LCA)

    Description N头牛(2<=n<=1000)别人被标记为1到n,在同样被标记1到n的n块土地上吃草,第i头牛在第i块牧场吃草. 这n块土地被n-1条边连接. 奶牛可以在边上行走, ...

  2. Android 开发使用第三方库出现Crash时处理方案汇总

    一.Glide混淆脚本没加导致的Crash 现象描述: 使用Glide开发的时候在debug版本一直没事,但是realease版本各种Crash,报错信息如下: java.lang.IllegalAr ...

  3. linux实验一 双系统安装

    (一)首先来简要了解一些linux的概念! 1.发行版本和内核版本的区别与联系:linux发行版本是"内核版本+一系列挂载软件"的集合体,光是一个内核版本是无法当做操作系统运行的. ...

  4. New Windows 10 SDK - Multi-instance UWP apps

    概述 前面一篇 About Windows 10 SDK Preview Build 17110 中,我们简单介绍了 Multi-instance UWP Apps,今天结合开发过程详细讲解一下. 在 ...

  5. vue的图片上传

    转载  代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  6. ios滑动流畅(丝般顺滑)滚动

    在ios html->body->list(少一个样式都不行!) html->body->list <!DOCTYPE html> <html lang=&q ...

  7. Mysql设置字段自动获取时间

    问题:现在在用户表中有一个字段表示用户创建的时间 第一个想法是写一段程序获得系统当前时间,想想就太麻烦了,果断放弃,之后想到了存储过程和函数,再想想还要编写存储过程或者函数的代码,有点放弃的想法,但是 ...

  8. mysql5.6 绿色免安装版 安装详解

    一.安装版本简介 MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe, ...

  9. JS时间处理由CST格式转成GMT格式时间

    问题描述:js接收java后台的时间数据时,时间格式的CST时间,而js默认的是GMT时间格式,js 需要对这个时间进行处理才能使用,具体处理方法如function dateToGMT(sDate){ ...

  10. Python中列表、元组、字典增删改查基本区别

    1.定义: 列表:num = ["a","b"."c"] ##定义后可增删改查 元组:num = ("a"," ...