黑马程序员——java面向对象的概念,Java类、引用变量与堆对象
2013-04-08 00:37
323 查看
-------android培训、java培训、期待与您交流!----
一,面向对象概念
1.类型(类) 指一个名词概念,如:老师,学生,图书
2.引用(变量) 指引用具体概念实例的代词,如:某人、某物
3.对象(东西) 指具体概念的个体实例,如:张无忌这个人、
4.行为:方法
5.多态 行为或者引用,在具体情形下会发生变化的现象
比如:“一只动物”可以是“一匹马”、“一头驴”、“一只猴子”,多态的; “打”可以是“打酱油”、“打麻将”,“打人”,根据宾语发生变化,多态 的。
6.封装 :任何对象实例都是尽可能封装, 减少暴露,它的实现细节对你是透明的(看不到)。比如:只能看到汽车的壳子、轮胎等,看不到发动机。
7.继承 :概念的继承关系。
二.java类
1,Java类,是用来描述事物类型的 如:public class student{
}
2,类的声明,在“学生管理系统”中有概念:student
student的特征是:姓名,学号,班级,性别,年龄等
在Java中这样表示“student“这个事物类型:
public class student{
String name;
long id;//学号
String bj;
int age
}
注:”{}”花括号内的内容是类体
三,引用变量与对象的创建过程
public class StudentDemo{
public static void mian(string[] args){
Student student; //声明引用student
student=new Student();//创建对象
student.name="lis";
System.out.println(student.name);//lis
student.name="lwangwu";
System.out.println(student.name);//wangwu
}
}
计算机执行Java程序时会在内存中开辟一块栈内存(stack)空间。其实在程序运行期间,JVM迓开辟了一个堆内存(heap)空间。 栈内存空间的存储特点是“后进先出”,堆内存空间的存储特点和栈不同,类似于一盘散沙,随处可以“堆放”。
栈内存中的引用变量指向堆内存中的实例对象, 属性是有初始值的,我们将堆内存里的东西称为“对象”,对应现实世界的事物
在程序执行中堆内存中有两个对象,引用变量student指向新创建的对象 原来引用的对象等待垃圾回收。
三,java的内存管理与分配
1, 栈是一块Java使用内存区域,使用的方式:LIFO(后来者居上)堆也是一块Java使用内存区域,使用方式:随机分配。
2,局部变量与堆对象空间分配
Java局部变量和方法参数在栈中分配,大小是按照变量的类型分配
对象在堆中分配,按照类中声明属性(实例变量)分配空间
。
3. 变量类型与分配
变量分为:基本类型和引用类型
基本类型变量的空间大小:就是基本类型的空间大小,值是基本类型的值
引用变量的值是一个对象的地址值,引用变量通过地址引用了一个堆对象
引用类型变量的占用空间大小和值管理是“透明的(丌可看见)”由Java系统管理:变量占用空间以及值的管理,都是透明的。。。
一,面向对象概念
1.类型(类) 指一个名词概念,如:老师,学生,图书
2.引用(变量) 指引用具体概念实例的代词,如:某人、某物
3.对象(东西) 指具体概念的个体实例,如:张无忌这个人、
4.行为:方法
5.多态 行为或者引用,在具体情形下会发生变化的现象
比如:“一只动物”可以是“一匹马”、“一头驴”、“一只猴子”,多态的; “打”可以是“打酱油”、“打麻将”,“打人”,根据宾语发生变化,多态 的。
6.封装 :任何对象实例都是尽可能封装, 减少暴露,它的实现细节对你是透明的(看不到)。比如:只能看到汽车的壳子、轮胎等,看不到发动机。
7.继承 :概念的继承关系。
二.java类
1,Java类,是用来描述事物类型的 如:public class student{
}
2,类的声明,在“学生管理系统”中有概念:student
student的特征是:姓名,学号,班级,性别,年龄等
在Java中这样表示“student“这个事物类型:
public class student{
String name;
long id;//学号
String bj;
int age
}
注:”{}”花括号内的内容是类体
三,引用变量与对象的创建过程
public class StudentDemo{
public static void mian(string[] args){
Student student; //声明引用student
student=new Student();//创建对象
student.name="lis";
System.out.println(student.name);//lis
student.name="lwangwu";
System.out.println(student.name);//wangwu
}
}
计算机执行Java程序时会在内存中开辟一块栈内存(stack)空间。其实在程序运行期间,JVM迓开辟了一个堆内存(heap)空间。 栈内存空间的存储特点是“后进先出”,堆内存空间的存储特点和栈不同,类似于一盘散沙,随处可以“堆放”。
栈内存中的引用变量指向堆内存中的实例对象, 属性是有初始值的,我们将堆内存里的东西称为“对象”,对应现实世界的事物
在程序执行中堆内存中有两个对象,引用变量student指向新创建的对象 原来引用的对象等待垃圾回收。
三,java的内存管理与分配
1, 栈是一块Java使用内存区域,使用的方式:LIFO(后来者居上)堆也是一块Java使用内存区域,使用方式:随机分配。
2,局部变量与堆对象空间分配
Java局部变量和方法参数在栈中分配,大小是按照变量的类型分配
对象在堆中分配,按照类中声明属性(实例变量)分配空间
。
3. 变量类型与分配
变量分为:基本类型和引用类型
基本类型变量的空间大小:就是基本类型的空间大小,值是基本类型的值
引用变量的值是一个对象的地址值,引用变量通过地址引用了一个堆对象
引用类型变量的占用空间大小和值管理是“透明的(丌可看见)”由Java系统管理:变量占用空间以及值的管理,都是透明的。。。
相关文章推荐
- Java基础:面向对象(1)--对象的概念、成员变量与局部变量、匿名对象、类的封装
- 黑马程序员-15-java基础-面向对象(1)-概念介绍与类、对象、构造方法
- [黑马程序员]_面向对象的概念、对象引用及属性
- [黑马程序员]_面向对象的概念、对象引用及属性
- Java_31_面向对象_Java程序运行的内存分析_栈_堆_引用类型的概念_属性_对象的创建和使用
- 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象
- 黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)
- 黑马程序员——Java的内存世界:面向对象的概念以及对象的建立过程
- 黑马程序员——java第五天:面向对象(类、对象、变量、封装、构造、this)
- 黑马程序员--面向对象(一)封装、成员变量与局部变量、匿名对象、构造函数、this关键字
- 卓越班暑假培训笔记(一)----java(类和对象的概念、实例变量、方法重载、构造方法、数据类型)
- JAVA基础——对象与引用概念(转载)
- 从equals()与==中理解java中对象与引用的概念
- JVM概念之Java对象的大小与引用类型
- 黑马程序员_JAVA对象大小与引用
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- 黑马程序员—Java面向对象(单例设计模式、面向对象的继承、final关键字)
- 黑马程序员 05 Java基础教学 - 05 - 面向对象(1) 之 类、对象、封装
- 黑马程序员——Java基础之面向对象的相关概念及个人理解
- Java面向对象【经典案例】数组是对象,其变量的值是引用地址