JAVA_SE基础——23.类的定义
黑马程序员入学blog ...
java 面向对象的语言
对象:真实存在的唯一的实物。
比如:我家的狗,
类: 实际就是对某种类型事物的共性属性与行为的抽取。 抽象的概念。。。 比如说:车 你知道我值的是哪辆车吗?
我们从小的时候就不断的接触很多的对象,我们的大脑就会把这些具备相同属性与行为的事物进行分类。
如果还不明白的话看下图:
下面的对象具备着类的基本属性(轮子、排气管、颜色..) 就可以称得上车了 。 类就如一张造汽车的图纸,一个抽象的概念。
在现实生活中就存在对象与类这两种事物。计算机是服务员人类的,为了让计算机更加接近我们的生活,这时候就出现了面向对象的计算机语言。
面向过程的代表(C语言)-------->侧重于过程
面向对象的代码(Java语言)-------->侧重的是对象,找合适的对象做适合的事情
下面用一张图片来解释下面向过程和面向对象的区别:
现实生活中:对象--------------------->类
在Java中:类--------------------------->对象
面向对象的计算机语言核心思想:找合适的对象做适合的事情。
如何找合适的对象:
1.sun已经定义好了很多的类,我们只需要认识这些类,我们就可以通过这些类创建对象使用。
2.自定义类,通过自定义类来创建对象使用。
初学者应该先学自定义类 先学习语法和关键字 这样到时才看的懂sun写好的类。
自定义类创建对象的三步骤:
1. 自定义类。
格式:
class 类名{
事物的公共属性使用成员变量描述。
事物的公共行为使用函数描述。
}
2. 通过自定义类创建对象。
格式:
类名 变量名 = new 类名();
3. 访问(设置)对象的属性或者调用对象的功能。
1.访问对象属性的格式:
对象.属性名.
2.设置对象的属性:
对象.属性名 = 数据。
3. 调用对象的功能
对象.函数名();
需求:使用Java描述一个汽车类,汽车具备轮子数、名字、颜色三个属性,还具备跑的功能行为。
//车类
class Car{ //事物的公共属性使用成员变量描述。
String name; //名字的属性 String color; //颜色属性 int wheel; //轮子数 //事物的公共行为使用函数描述。
public void run(){
System.out.println(name+"飞快的跑起来啦...");
}
} class Demo1
{
public static void main(String[] args)
{ //使用了Car类声明了一c变量, c变量指向了一个车对象。
Car c = new Car();
//设置车对象的属性值。
c.name = "BMW";
c.color = "白色";
c.wheel = 4;
//访问车对象的属性值
System.out.println("名字:"+ c.name+" 颜色:"+ c.color+" 轮子数:"+c.wheel);
c.run(); }
}
结果:
名字:BMW 颜色:白色 轮子数:4
BMW飞快的跑起来了。
如果下面没有车的赋值话 变量全部输出初始化值:名字:null 颜色:null 轮子数:0
下面参考基本数据类型的初始化值:
布尔值: boolean默认false
字符: char,
整数:byte,short,int,long为0
实数: float,double为double类型的0.0
对象引用为null
JAVA_SE基础——23.类的定义的更多相关文章
- JAVA_SE基础——19.数组的定义
数组是一组相关数据的集合,数组按照使用可以分为一维数组.二维数组.多维数组 本章先讲一维数组 不同点: 不使用数组定义100个整形变量:int1,int2,int3;;;;;; 使用数组定义 int ...
- Java基础 - 面向对象 - 类的定义
package mingri.chapter_6; import java.util.Scanner; public class Person { /* * 类变量 * 定义方法: * 数据类型 变量 ...
- 二十三. Python基础(23)--经典类和新式类
二十三. Python基础(23)--经典类和新式类 ●知识框架 ●接口类&抽象类的实现 # 接口类&抽象类的实现 #①抛出异常法 class Parent(object): ...
- C#基础(202)--类定义,字段与属性,自动属性,方法及常见错误
c#类的定义规范 字段与属性的比较: 字段: 字段主要是为类的内部做数据交换交互使用,字段一般是private 字段可以赋值,也可以取值 当字段需要为外部数据提供数据的时候,请将字段封装为属性,而不是 ...
- C++学习4-面向对象编程基础(面向对象概念,定义类,定义对象)
什么是面向对象? 在软件的设计过程中的两种方式: 把程序按照算法的执行步骤来拆解,一步步实现,这是面向过程编程: 把程序按照现实世界的理解,分成不同对象,通过多个对象之间的相互作用,来完成程序的最终功 ...
- C++基础学习8:类的定义(class)
先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到 ...
- c++学习笔记之基础---类内声明函数后在类外定义的一种方法
在C++的“类”中经常遇到这样的函数, 返回值类型名 类名::函数成员名(参数表){ 函数体.} 双冒号的作用 ::域名解析符!返回值类型名 类名::函数成员名(参数表) { 函数体. } 这个是在类 ...
- [.net 面向对象编程基础] (23) 结束语
[.net 面向对象编程基础] (23) 结束语 这个系列的文章终于写完了,用了半个多月的时间,没有令我的粉丝们失望.我的感觉就是一个字累,两个字好累,三个字非常累.小伙伴们看我每篇博客的时间就知道 ...
- JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别
黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看 JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方 ...
随机推荐
- PAT乙级-1070. 结绳(25)
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
- Angular4--提速--提升Angular项目的首页打开速度(包含微信登录优化)
Angular项目的首页打开速度很慢,有时候会有几秒的加载时间.如果在手机端访问的话,怕是要等待十多秒,这对用户体验很差.下面参考http://www.cnblogs.com/feiyu159/p/8 ...
- Linux epoll源码--
Linux系统运行源码剖析-epoll代码注释 理解了中断.等待队列.调度,你就能懂Linux的80%. --老子 转发的话,请注明出处哦:http://www.cnblogs.com/stoneha ...
- Filecoin协议(挖矿)
Filecoin协议是如何运作的? 用户如何使用Filecoin系统来查询,存储数据? 存储矿工如何挖矿,如何获取FIL代币? 检索矿工如何挖矿,获取FIL代币? 本文主要回答上面的这些问题!!! 首 ...
- 阿里云手动搭建k8s搭建中遇到的问题解决(持续更新)
ETCD搭建 systemd启动etcd服务的时候出现错误:Failed at step CHDIR spawning /usr/bin/etcd: No such file or directory ...
- 二叉树遍历等基本操作(Java实现)
前中后序遍历递归实现+层序遍历: 树的结点类代码: public class TreeNode<Value extends Comparable<? super Value>> ...
- spring boot高性能实现二维码扫码登录(中)——Redis版
前言 本打算用CountDownLatch来实现,但有个问题我没有考虑,就是当用户APP没有扫二维码的时候,线程会阻塞5分钟,这反而造成性能的下降.好吧,现在回归传统方式:前端ajax每隔1秒或2秒发 ...
- MYSQL数据库学习十六 安全性机制
16.1 MYSQL数据库所提供的权限 16.1.1 系统表 mysql.user 1. 用户字段 Host:主机名: User:用户名: Password:密码. 2. 权限字段 以“_priv”字 ...
- 15分钟理解HTTPS——通俗篇
| 导语 它很深奥吗?你肯定常常见过它,使用它,甚至离不开它... 它很浅显吗?你可能觉得看透它,理解它,甚至懂它... 让我们用15分钟,不那么学术地将它的深挖到底~ 什么?如何证明我是我?本文要上 ...
- 第一次使用github、git工具,本地仓库、远程仓库使用
一次使用git,记录下使用过程...可能还有很多东西可能还没理解,后期理解了再写吧 git是什么.,百度的回答: 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 使用过程一直在百度 ...