栈内存
: 对象
堆内存 :属性
全局变量 :所有的方法
构造方法是在对象实例化时被自动调用
对象实例化需要通过new关键字
对象产生的格式
类 对象名 = new 类();
类():调用类中的构造方法
在Java之中每个类都必须有一个构造方法,如果没有构造方法,则会自动产生一个无参的什么都不做的构造方法,因为所有的对象产生时都必须调用构造方法.
如果程序中已经有构造方法,则不会产生一个什么也不做的无参构造方法.
结论:无论采用哪种方法为类中的属性赋值,最好都通过setter方法,由setter方法对输入的内容进行检查,而getter方法只是将内容简单的返回.
不定义对象的引用名称,而直接调用这个对象的方法,这个对象就叫做匿名对象,如:new Person().shout();
如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象,我们经常将匿名对象作为实参传递给一个函数调用
记住:往往是作为方法的参数出现
**************************我是分隔线**************************
String是一个类,
两个方法都可以使用,那到底要使用哪种方法呢?
比较两个字符串是否相等,需要equals方法
“==”与equals的区别
equals:可以比较内容,是两个字符串内容的比较
==:数值比较,比较的是内存地址的值是否相等
这个字符串到底是什么东西
System.out.println("张三".equals(name1)); //证明了一个字符串就是String类的匿名对象
String的另一个特殊之处:String使用了java中的共享设计模式,
使用Java引用传递的概念
**************************我是分隔线**************************
this如何去调用属性?
this可以去调用本类中的方法
this用于构造方法的调用
注意:
构造方法本身必须在首行被调用.为了能够为类中的属性初始化
this调用属性,本类方法,构造方法这三点是this的基本应用,也是最常用的,但是以上三点实际上可以综合成一点à表示当前对象!
this表示当前对象主要应用于一点:用于进行对象的比较
注意点:封装访问
本章重点:
this关键字的使用:this表示当前对象
<!--[if !supportLists]-->l <!--[endif]-->this 调用本类中的属性
<!--[if !supportLists]-->l <!--[endif]-->this调用本类中的其他方法
<!--[if !supportLists]-->l <!--[endif]-->this调用本类中的其他构造方法,调用时要放在构造方法的首行
**************************我是分隔线**************************
回顾:
栈内存 : 保存的是对象的名字
堆内存:对象的具体内容(属性)
全局代码区:所有方法
问题?
如果我想表示一个属性,这个属性是所有对象都必须具有的,那该怎么办?
在类中写一个属性,如果使用static声明,则表示此属性为共有属性,即:所有对象都可以访问此属性.
全局数据区:存放static类型的属性
对于static类型的变量,最好是通过类名称修改,意味着使用static类型声明的属性或方法可以通过类名称直接调用:
类static属性
类static方法
静态方法不能调用非静态属性或方法
非静态方法可以调用静态属性或方法
代码块:四种代码块
<!--[if !supportLists]-->l <!--[endif]-->普通代码块: 是写在一个方法之中的语句块
<!--[if !supportLists]-->l <!--[endif]-->构造块: 是直接写在类中的语句块,构造块优先于构造方法先执行,执行多次
<!--[if !supportLists]-->l <!--[endif]-->静态块: 是直接写在类中的,通过static声明的语句块,优先于构造块与构造方法先执行,作用是为静态属性初始化,执行一次
<!--[if !supportLists]-->l <!--[endif]-->同步代码块(多线程):
理解main方法
<!--[if !supportLists]-->l <!--[endif]-->public:
表示此方法为公共的,可以被外部方法.
<!--[if !supportLists]-->l <!--[endif]-->static:
表示此方法为static方法,可以被类名直接调用.
<!--[if !supportLists]-->l <!--[endif]-->void:
表示此方法无返回值
<!--[if !supportLists]-->l <!--[endif]-->main
系统规定的方法名称
<!--[if !supportLists]-->l <!--[endif]-->String args[]
表示运行时参数
类在运行的时候要使用main方法,main方法应该被外部所看见,所以此方法声明为public
程序运行时输入的都是类的名称,证明使用类名称调用方法 à static类型的方法
String args[]:表示运行时输入的参数
参数的输入:java 类名称
参数一,参数二,参数三
编写一个Person类,类中的内容有程序运行时输入,Person里面包括一个名称和年龄
方法:能不能使用一个方法将String类型的数据变成int类型,通过包装类
在java中有一种思想:一切皆对象,一切的操作都有对象
问题:基本数据类型是对象吗?-->与一切皆对象不相符
提供了一种对于基本数据类型的包装类:8种基本数据类型
类型
|
包装类
|
int
|
Interger
|
char
|
Character
|
float
|
Float
|
double
|
Double
|
byte
|
Byte
|
short
|
Short
|
long
|
Long
|
boolean
|
Boolean
|
将字符串变为整型-->String --> int
Integer.parseInt(String param) -->int类型
System.exit(1); //程序退出,不再向下执行.
问题:不通过main方法,打印出Hello World!!!
提示:使用static
分享到:
相关推荐
Java学习笔记-面向对象-001-面向对象概括 还会继续上传后续文本 详情访问http://www.feifeiblog.com/
Java学习笔记,面向对象深化
Java学习笔记,面向对象初步
内容为本人学习java面向对象部分整理的笔记,内容为面向对象的基础知识
java学习笔记大全:java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java...
自己在java学习过程中的笔记,从最基础的创建java环境,java的基础知识,java变量的内存存储过程,到容器,异常,多线程等都有详尽涉及。 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里...
这个文档是我本人通过学习JAVA面向对象部分总结出的文档,知识点都包含在内,继承,封装,多态等概念,以及相关代码并给于注释,面向对象部分是JAVA的核心部分,面向对象这部分是理解JAVA的最好途径,共大家学习借鉴...
收集的java李兴华老师的课件笔记。感觉还不错,适合回顾和新手补习。
java基础(超详细。。学习笔记) Java源代码 面向对象编程学习
JAVA的面向对象编程学习笔记
JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做...
WI TWO 淘宝分享Java面向对象编程(孙卫琴)_学习笔记
《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次...而对于一些曾经学习过Java,但概念和基础仍不扎实的读者,本书也准备了一些面向对象的观点与进阶的议题可供参考。
java语言概述,java语言基础,程序的控制语句,数组,面向对象基础,继承,多态,抽象类,接口,异常处理,集合类,输入输出流,多线程,JDBC连接数据库等简单的java基础知识。 适合想学习java语言的同学们下载。 ...
Java面向对象编程学习笔记.pdf
自己学习时整理的笔记,从面向对象到集合框架,学习交流
面向对象是Java基础的一个重点知识,也是学习Java必须要学习的知识点,所以在此分享了Java中的面向对象,望和大家一起学习
java面向对象学习笔记,包括基础知识,二进制,运算符,数组
收集的java李兴华老师的课件笔记。感觉还不错,适合回顾和新手补习。