javase基础笔记3——this关键字和内存图
什么是面向对象? 面向过程。 面向过程:解决一个问题的思路和方法以及步骤 面向对象:把一些具有相同特征的问题抽象成一个对象,用""""对象.方法()"""""的形式去调用。 面向对象的三个特点: 封装 继承 多态 封装,private 私有,独占 把对象的方法和属性封装到类中,是面向对象语言的核心思想。 继承:extends 子类继承父类,父类派生子类 多态:有继承才有多态,多态增加了程序的扩展性。
类中有方法和属性 属性私有化,方法public
类是抽象的,对象是具体的 对象new这个关键字来引导生成
Object类是一切类的父类。所有的类都默认继承Object类
原始数据类型
引用数据类型 数组 枚举(enum) 类(class) 接口(interface) 注解
java使用unicode编码方法 String ‘/u0000’ null 对象 int 0
成员属性自动初始化
================================================ 构造方法 有构造方法才能生成对象 构造方法名与类名相同 构造方法必须public 构造方法不能有返回值以及方法内部存在return语句 构造方法空参的默认自动隐藏,但是如果你在类中,定义了任何一个非空参的构造方法,必须得把这个空参的重新写一遍。
方法以及构造方法的重载 方法重载: 方法名字相同,方法的参数个数是或者参数类型不同就可以了,与返回值类型无关。
this和static this关键字:区分成员变量以及局部变量才出现的 成员变量:类中的属性 成员变量自动初始化 局部变量:花括号中定义的变量{} 局部变量不自动初始化 局部变量和成员变量可以重名,作用范围不一样 成员变量和局部变量优先打印最近的那个变量 #######this相当于当前对象#### this可以调用构造方法,可以调用方法,可以调用成员属性 1.this(参数) 2.this.方法名() 此时this可以省略 3.this.属性名 注意:this调用构造方法时候的注意事项 1,this必须出现在第一行 2,只能出现一次 3,防止来回调用
static关键字 修饰静态成分的关键字 成员方法 静态方法只能调用静态方法 成员属性 静态方法修饰的成员属性一般为全局共享的属性 静态代码快 和类一起加载进内存,只加载一次 ===============super==============关键字用在继承 子类继承父类,默认会调用父类无参的构造方法,如果你申明了一个有参的构造方法,父类就找不到无参的构造方法了,所以显示的声明一下。 ===============super==============
垃圾回收机制 java一大优点:free释放内存在c++中,在java中不用考虑这点 只要引用无效,对象就会成为垃圾。。内存就会被自动释放 java语言自动回收垃圾的方法是System.gc()方法,在这个方法执行之前jvm会自动调用Object类中的fianlize()方法
内部类
成员内部类 类以成员的形式出现 静态内部类 类以成员的形式出现,但是加了关键字static 方法内部类 定义在方法内的内部类

javase基础笔记3——this关键字和内存图的更多相关文章
- 【JAVA】笔记(1)---JVM内存图;方法重载条件;输入方法;转义字符;强制类型转换;变量分类及区别;Java命名规范;
Java命名规范: 1.包:全部字母小写: 2.类+接口:所有单词的首字母大写: 3.变量+方法:第一个单词的首字母小写,其余单词首字母大写: 3.常量名:所有字母均大写,且用下划线" _ ...
- javase基础笔记4——异常/单例和类集框架
继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...
- javase基础笔记2——数据类型和面向对象
API:Application program interface 程序调用一个方法去实现一个功能 正则表达式:regex 用来匹配的 javaEE里边有三大框架 SSH struts spring ...
- C++基础笔记(四)C++内存管理
析构函数 * 析构函数在对象所占用内存释放时调用,通常用来释放相关的资源 * 析构函数就是一个特殊的类成员函数,它是构造函数相反 构造函数:对象在分配内存之后,立即调用 析构函数:对象在内存被释放之前 ...
- [javase学习笔记]-8.6 静态的内存载入
之前几节我们一直在说statickeyword所修饰的静态,那么在程序执行时,内存中static是怎样体现的呢?这一节我们就来看一看. 我们还是先看一个样例.希望我们通过对这个样例的分析让我们刚開始学 ...
- [javase学习笔记]-6.3 对象的内存体现
这一节我们来简单的看一看对象在内存中是什么样子呢,怎样体现. 我们以上一节的測试代码为例. 我们在函数的内存分配分析过.当该代码执行时,首先会载入主函数在栈内存中为main函数分配一个空间: 然后执行 ...
- javase基础笔记1——简介和发展
软件分为 系统软件 windows linux类 (unix)mac(麦金塔).数据库管理系统 unix linux 开源os(open source) 免费 开放 free os operation ...
- JavaSE基础笔记
JVM 不是跨平台的,他是用 C++编写的. Path 环境变量的地址是 ...jdk/bin java_home 地址是 ...jdk
- JavaSE学习笔记(2)---面向对象基础
JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...
随机推荐
- 【转】WebMagic-总体流程源码分析
转自:http://m.blog.csdn.net/article/details?id=51943601 写在前面 前一段时间开发[知了]用到了很多技术(可以看我前面的博文http://blog.c ...
- spring mvc 重定向加传参
常用: ModelAndViewi: return new ModelAndView("redirect:/toList"); 或者 ii:return "redire ...
- ALV 输入数据时数字缩小一千倍的问题解决
这个字段后面有三位小数 我输入 1 一回车 就变成了0.001 了 解决方法 DATA: wa_fieldcatalog TYPE lvc_s_fcat, "显示数据列内表工作 ...
- LayoutInflater的inflate函数用法详解
LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: LayoutInflater inflater=(Layo ...
- 【leetcode】Spiral Matrix(middle)
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- 【leetcode】 Search a 2D Matrix (easy)
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- centos 6.5 配置LDAP服务器+客户端!
各种度娘!各种歌哥!网上教程参差不齐,历时1天,终于完成,不敢独享,遂,总结分享之,有问题可以留言,知无不言...开始吧 Note: 本次配置的服务器环境是<redhat enterprise ...
- object实现小老鼠交互
直接使用 <p style="text-align: center; "> <object type="application/x-shockwave- ...
- NSOperation使用
1.继承NSOperation DownLoadImageTask.h #import <Foundation/Foundation.h> #import <UIKit/UIKit. ...
- 一个TextView内显示不同颜色的文字
String format = "<font color='#FC8262'>%s</font>:%s"; String text = String.for ...