Java学习笔记---6.面向对象编程01-类对象的构建及对象的引用传递
Java与C++不同,Java是一种纯粹的面向对象语言. 面向对象有三大特点,继承(Inheritance)、封装(Encapsulation)、多态(Polymorpism).
这一部分内容比较多,分开来学. 01部分主要以一个例子来熟悉一下Java类对象的构建过程. 这里有一点需要谨记: Java中类对象的传递是引用传递.
举例如下:
view plaincopy to clipboardprint?
class Person
{
// 定义类"Person"的属性
String name;
int age;
// 定义类"Person"的方法
void say()
{
System.out.println("我的名字是: " + name + ", 我的年龄是: " + age);
}
}
public class OODemo01
{
public static void main(String args[])
{
//声明对象:在栈内存中声明;类名称 对象名称 = null ;
//实例化对象:使用new在堆内存中开辟空间,保存对象属性;对象名称 = new 类名称() ;
Person p = new Person();
// 通过对象.属性,给实例化后的对象设置属性
p.name = "张三";
p.age = 23;
// 通过对象.方法,调用对象的方法
p.say();
}
}
class Person
{
// 定义类"Person"的属性
String name;
int age;
// 定义类"Person"的方法
void say()
{
System.out.println("我的名字是: " + name + ", 我的年龄是: " + age);
}
}
public class OODemo01
{
public static void main(String args[])
{
//声明对象:在栈内存中声明;类名称 对象名称 = null ;
//实例化对象:使用new在堆内存中开辟空间,保存对象属性;对象名称 = new 类名称() ;
Person p = new Person();
// 通过对象.属性,给实例化后的对象设置属性
p.name = "张三";
p.age = 23;
// 通过对象.方法,调用对象的方法
p.say();
}
}
在例子中定义了一个Person类. 在主方法中,要使用person类对象的话,就必须声明并实例化一个Person的对象. 声明对象是分配在栈内存中. 实例化对象采取的是 new 类名称()的语法, 在堆内存中开辟空间. 栈内存中分配好的对象以引用形式来操作堆内存数据. 这一点很重要,需要理解通透.
上面的对象构建过程可以以下图表示,通过下图可以更好的理解何为对象的引用传递.
Java与C++不同,Java是一种纯粹的面向对象语言. 面向对象有三大特点,继承(Inheritance)、封装(Encapsulation)、多态(Polymorpism).
这一部分内容比较多,分开来学. 01部分主要以一个例子来熟悉一下Java类对象的构建过程. 这里有一点需要谨记: Java中类对象的传递是引用传递.
举例如下:
view plaincopy to clipboardprint?
class Person
{
// 定义类"Person"的属性
String name;
int age;
// 定义类"Person"的方法
void say()
{
System.out.println("我的名字是: " + name + ", 我的年龄是: " + age);
}
}
public class OODemo01
{
public static void main(String args[])
{
//声明对象:在栈内存中声明;类名称 对象名称 = null ;
//实例化对象:使用new在堆内存中开辟空间,保存对象属性;对象名称 = new 类名称() ;
Person p = new Person();
// 通过对象.属性,给实例化后的对象设置属性
p.name = "张三";
p.age = 23;
// 通过对象.方法,调用对象的方法
p.say();
}
}
class Person
{
// 定义类"Person"的属性
String name;
int age;
// 定义类"Person"的方法
void say()
{
System.out.println("我的名字是: " + name + ", 我的年龄是: " + age);
}
}
public class OODemo01
{
public static void main(String args[])
{
//声明对象:在栈内存中声明;类名称 对象名称 = null ;
//实例化对象:使用new在堆内存中开辟空间,保存对象属性;对象名称 = new 类名称() ;
Person p = new Person();
// 通过对象.属性,给实例化后的对象设置属性
p.name = "张三";
p.age = 23;
// 通过对象.方法,调用对象的方法
p.say();
}
}
在例子中定义了一个Person类. 在主方法中,要使用person类对象的话,就必须声明并实例化一个Person的对象. 声明对象是分配在栈内存中. 实例化对象采取的是 new 类名称()的语法, 在堆内存中开辟空间. 栈内存中分配好的对象以引用形式来操作堆内存数据. 这一点很重要,需要理解通透.
上面的对象构建过程可以以下图表示,通过下图可以更好的理解何为对象的引用传递.
发表评论
-
Servlet
2010-08-20 11:28 4951.什么是Servlet? ... -
MyEclipse快捷键
2010-08-20 11:27 522存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取 ... -
java面试题
2010-08-20 11:26 475第一,谈谈final, finally, finalize的区 ... -
Java学习笔记---16.面向对象编程11-Java多态性,instanceof及Object类
2010-08-20 11:26 691多态是一个之前一直搞不清楚的概念,通过这次笔记,对多态的概念及 ... -
Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口
2010-08-20 11:24 936抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下 ... -
Java学习笔记---14.面向对象编程09-Java中重载与复写的区别、super与this的比较
2010-08-20 11:22 8211. 方法重载与方法复写的区别 区别 ... -
Java学习笔记---13.面向对象编程08-Java中继承的概念,子类实例化过程,super()及方法复写
2010-08-20 11:12 1001继承是OOP的三大特点之一. 这一节主要做一下继承的笔记. ... -
Java学习笔记---12.面向对象编程07-Java中的static关键字用法
2010-08-20 11:08 853static关键字应用点有3个: static变量(属性)的声 ... -
Java学习笔记---11.面向对象编程06-Java的内部类及对象数组
2010-08-20 11:04 8291. Java的内部类机制 所谓内部类,是指在一 ... -
java学习笔记---10.面向对象编程05-面向对象程序的设计步骤
2010-08-20 11:03 771这一部分需要注意一个原则, 熟练掌握OOP的程序设计方法. ... -
Java学习笔记---9.面向对象编程04-this关键字的使用
2010-08-20 11:00 729Java学习笔记---9.面向对象编程04-this关键字的使 ... -
Java学习笔记---8.面向对象编程03-String类的重点应用
2010-08-20 10:59 694在String类这一部分很重要,分为三个问题来做笔 ... -
Java学习笔记---7.面向对象编程02-类的封装性以及构造方法
2010-08-20 10:57 7921. 类的封装特性: 类的封装性是指类 ... -
Java学习笔记---5.Java数组和方法
2010-08-20 10:53 7161. 数组的声明语法 Java中数组的声明有两种形 ... -
Java学习笔记---4.Java的分支循环语句
2010-08-20 10:51 690switch的使用如下例: view plain ... -
Java学习笔记---3.运算符与表达式
2010-08-20 10:49 679这一部分需要再强调的东西不多,因为运算符表达式都是平时最常用的 ... -
Java学习笔记---2.Java标识符和基本数据类型
2010-08-20 10:48 929这一块里面,标识符比较简单,没有什么需要记录的东西. ... -
Java学习笔记---1.Java发展及JDK配置
2010-08-20 10:47 768Java的老东家是Sun公司(Sun的全名,Stanford ...
相关推荐
统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于Python算法实现源码.zip 统计学习方法笔记-基于...
JAVA学习笔记-java学习笔记WORD样式.docx
设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx设计模式学习笔记--Flyweight享元模式.docx
Python学习笔记--皮大庆,非常适合零基础入门。对应英文版本《How to think like a computer scientist》
Java学习笔记-面向对象-001-面向对象概括 还会继续上传后续文本 详情访问http://www.feifeiblog.com/
对学习java的人极有好处,分享给大家,希望大家能够喜欢
Java 版设计模式学习笔记-java-design-patterns
学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记...
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
Java并发编程与高并发解决方案-学习笔记-www.itmuch.com
Matlab学习笔记--Matlab画图15页word.docxMatlab学习笔记--Matlab画图15页word.docx
Python金融大数据挖掘与分析全流程详解-学习笔记及案例代码.zip Python金融大数据挖掘与分析全流程详解-学习笔记及案例代码.zip Python金融大数据挖掘与分析全流程详解-学习笔记及案例代码.zip Python金融大数据挖掘...
DELPHI学习笔记----获取WINDOWS进程信息.pdf
java学习笔记--PrintStream分享.pdf
面向对象2(成员变量与局部变量 常用系统类 包 访问控制符 String),6.面向对象3(封装 继承 多态),7.面向对象4(抽象类 接口 包装类),8.GUI编程--awt,9.GUI编程--计算器案例,10.GUI编程--Swing,11.集合,12.多线程,13....
java学习笔记---从入门到精通之路.pdf
Java学习笔记-Java后来者.exe
JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做...
LaTex教程--latex排版学习笔记---入门提高.pdf