面向对象编程(OOP)

面向对象编程(OOP)

面向对象(OOP Object Orient Programming)是java编程的核心思想。

三大特性:封装,继承,多态

主要组成:类;对象;属性;动作(方法)

类:对某一类有相同特征的事物的抽象,或者说具有同种属性和行为的对象的集合,比如电力机车。

对象:表示现实中该类事物的个体,是类的具体实现,比如和谐号动车组就是电力机车的一个对象。

属性:该类事物的共有特征,实际就是变量,但又和变量有点区别,比如电力机车具有功率大,运行速度高,加速快,自身负重低,清洁环保,能源利用率高等属性。

动作(方法):该类事物共有的功能,比如可以电力机车可以牵引车厢,通电工作等。

它们四者的关系:

1.类中包含属性和方法;

2.对象由类创建出(类实例化出对象);

3.对象中可以表现出具体的属性值和方法

小练习:建立一个完整的类:

package com.xiaobai;
//建立一个电力机车类
public class electricLocomotive {
	//类的属性

	//型号
	public String model;

	//速度
	public  int velocity;

	//功率
	public double power;

    /**类的功能(方法)
	 * 方法的语法:
	 * [访问修饰符] 返回值类型 方法名([数据类型 变量名,…]){
	 * ……
	 * }
	 * 1.访问修饰符可写可不写;
	 * 2.返回值类型:如果方法执行完不返回数据,写void
	 *   如果要返回数据,写对应的数据类型
	 * 3.方法名遵循驼峰原则,见名之意
	 * 4.参数列表:可以不需要参数,也可以设计参数,写法:
	 *   数据类型 变量名(就是变量声明),多个的用逗号隔开即可
	 */

	public  void transportation() {
		System.out.print("运输");

	public void dissipation(){
		System.out.print("吃电");
		}
	}

}

JVM内存划分

程序计数器:记录cpu该去执行线程中哪条指令,说白了就是内存和cpu进行通信不需要我们去关心

本地方法栈:jvm调用操作系统的方法的区域,如操作系统支持的复制和粘贴不需要我们去关心

方法栈:执行方法,保存局部变量

方法区:存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等

堆:用来存储对象本身的以及数组

其实在java编程过程中,我们主要是针对对象在编程,因此还需要理解对象在JVM中的运行原理。

成员变量和局部变量

成员变量:类中的变量

局部变量:方法内部的变量就是局部变量

成员变量局部变量
位置方法内部
作用范围当前类中所有非静态方法当前方法
初始值默认初始化需要初始化
内存位置
生命周期伴随着对象的存在而存在弹出栈之后就挂了

当成员变量和局部变量重名时,就使用就近的局部变量,

也可以通过    this.属性    来强制使用成员变量

还有个匿名对象,比较鸡肋,只能用一次的家伙。

今天还学了好多,和人约好了去玩一小会,来不及在这里记录了,明天再接再励。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值