1.7 Java类和对象的概念
2016-01-11 17:26
274 查看
Java类和对象 概念
主要解释类和对象概念,以及声明,定义,创建,属性,方法,构造方法,实例,实例化的概念,以及特殊函数main
http://www.weixueyuan.net/view/6311.html
Createddate: 2016-01-15
updateddate: 2016-01-22
什么是类和对象
可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数及其承担的任务;一张图纸可以生产出具有相同性质的零件,不同图纸可以生产不同类型的零件。
类和对象使用
在Java中,使用new关键字,就可以通过类来创建对象,即将图纸生产成零件,这个过程叫做类的实例化,因此也称对象是类的一个实例。
类的实例化分为三个步骤:
//第1步:通过类定义一个变量 stu1(通常称为声明对象)
Student stu1;
//第2步:
使用new关键字创建对象stu1(通常称为创建对象),第3步: 使用构造函数初始话对象(进行参数化传值),
stu1=new Student();
注意:类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的零件,要有地方来存放,才会占用内存空间。
类的成员
类所包含的变量和函数都有特定的称呼,变量被称为属性(通常也称成员变量)
函数被称为方法(普通方法和构造方法)
属性和方法统称为类的成员。
访问类的成员
访问有两层意思:一个是赋值,另一个获取值
//访问类的变量(通常称为属性)
stu1.name="Mike";
//访问类的函数(通常称为方法)
stu1.say();
声明,定义,创建之间的区别
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
告诉编译器一个名字(标识符),这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
告诉编译器一个名字(标识符),这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
例如:变量A
如果int A,
就是声明和定义, 告诉编译器A是一个整数型的变量,并进行初始化,分配了内存空间
例如:
函数A
如果 void A(),
就是声明和定义, 告诉编译器A是一个函数A,
并进行初始化,分配了内存空间
例如:类A
如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;
如果以后a=new A();这就是初始化,分配了内存空间。即创建了对象
总之,
基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,所以声明不会分配存储空间,只有定义时才会分配存储空间
Java中项目的组织结构
例子
运行结果:
Name:MikeAge: 20Score: 100.0
参考文献:
《Java类和对象的概念》http://www.weixueyuan.net/view/6311.html
《变量定义和声明的区别(整理)》/article/7730317.html
主要解释类和对象概念,以及声明,定义,创建,属性,方法,构造方法,实例,实例化的概念,以及特殊函数main
http://www.weixueyuan.net/view/6311.html
Createddate: 2016-01-15
updateddate: 2016-01-22
什么是类和对象
可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数及其承担的任务;一张图纸可以生产出具有相同性质的零件,不同图纸可以生产不同类型的零件。
类和对象使用
在Java中,使用new关键字,就可以通过类来创建对象,即将图纸生产成零件,这个过程叫做类的实例化,因此也称对象是类的一个实例。
类的实例化分为三个步骤:
//第1步:通过类定义一个变量 stu1(通常称为声明对象)
Student stu1;
//第2步:
使用new关键字创建对象stu1(通常称为创建对象),第3步: 使用构造函数初始话对象(进行参数化传值),
stu1=new Student();
注意:类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的零件,要有地方来存放,才会占用内存空间。
类的成员
类所包含的变量和函数都有特定的称呼,变量被称为属性(通常也称成员变量)
函数被称为方法(普通方法和构造方法)
属性和方法统称为类的成员。
访问类的成员
访问有两层意思:一个是赋值,另一个获取值
//访问类的变量(通常称为属性)
stu1.name="Mike";
//访问类的函数(通常称为方法)
stu1.say();
声明,定义,创建之间的区别
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
告诉编译器一个名字(标识符),这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
告诉编译器一个名字(标识符),这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
例如:变量A
如果int A,
就是声明和定义, 告诉编译器A是一个整数型的变量,并进行初始化,分配了内存空间
例如:
函数A
如果 void A(),
就是声明和定义, 告诉编译器A是一个函数A,
并进行初始化,分配了内存空间
例如:类A
如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;
如果以后a=new A();这就是初始化,分配了内存空间。即创建了对象
总之,
基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,所以声明不会分配存储空间,只有定义时才会分配存储空间
Java中项目的组织结构
例子
/* Java类和对象 概念 主要解释类和对象概念,以及声明,定义,创建,属性,方法,构造方法,实例,实例化的概念,以及特殊函数main http://www.weixueyuan.net/view/6311.html Created date: 2016-01-15 updated date: 2016-01-22 */ //通过package关键字,声明一个package1包 package package1; //通过public访问修饰符和class关键字,声明一个 类classexample1_ClassAndObject_1 public class example1_ClassAndObject_1 { /* 定义一个main方法(函数) public:访问修饰符,权限最大 static:静态方法,存储在静态存储区,意味着:方法无需实例化对象来调用的方法 main:函数名,jvm识别的特殊函数名 void:意味着:方法无返回值 Sting[] arg: 字符串数组参数arg */ public static void main (String[] args) { //通过类定义一个变量 stu1(通常称为声明对象) Student stu1; //使用new关键字创建对象stu1(通常称为创建对象),然后使用构造函数初始化对象(进行参数化传值), stu1=new Student(); //我们也可以合并一起写,整个过程称为实例化,对象是类的一个实例 //Student stu1=new Student(); //访问类的变量(通常称为属性) stu1.name="Mike"; stu1.age=20; stu1.score=100; //访问类的函数(通常称为方法) stu1.say(); } } //声明一个类Student,定义类成员(包括属性和方法) class Student { //定义变量,变量被称为属性(通常也称成员变量) String name; int age; float score; //定义构造函数(通常称为构造方法) Student () { } //定义普通函数(通常函数被称为普通方法) void say() { System.out.println("Name: "+name+""+"Age:"+age+"Score: "+score); } }
运行结果:
Name:MikeAge: 20Score: 100.0
参考文献:
《Java类和对象的概念》http://www.weixueyuan.net/view/6311.html
《变量定义和声明的区别(整理)》/article/7730317.html
相关文章推荐
- Java开发中的23种设计模式详解
- 关于Spring注解的一些说明
- 处理防盗链的img无法显示
- ConcurrentHashMap解析(JDK8)
- spring quartz学习总结: cluster的配置和示例
- java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)
- 一个例子让你了解Java反射机制
- 使用Eclipse基于Maven的Spring MVC 调试心得(二)--- Spring配置
- Spring Mvc interceptor
- 【JDK源码分析】String的存储区与不可变性
- 深入理解Java虚拟机 字节码执行引擎
- Java模式
- java中文排序
- Java线程状态及Thread类中的主要方法
- java内存空间
- 【Java】————概述
- spring循环依赖问题分析
- Spring学习笔记---2-IOC详解
- Java的版本、特性和历史
- eclipse 实用技巧记录