什么是面向对象? 面向过程。 面向过程:解决一个问题的思路和方法以及步骤 面向对象:把一些具有相同特征的问题抽象成一个对象,用""""对象.方法()"""""的形式去调用。 面向对象的三个特点: 封装 继承 多态 封装,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关键字和内存图的更多相关文章

  1. 【JAVA】笔记(1)---JVM内存图;方法重载条件;输入方法;转义字符;强制类型转换;变量分类及区别;Java命名规范;

    Java命名规范: 1.包:全部字母小写: 2.类+接口:所有单词的首字母大写: 3.变量+方法:第一个单词的首字母小写,其余单词首字母大写: 3.常量名:所有字母均大写,且用下划线" _ ...

  2. javase基础笔记4——异常/单例和类集框架

    继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...

  3. javase基础笔记2——数据类型和面向对象

    API:Application program interface  程序调用一个方法去实现一个功能 正则表达式:regex 用来匹配的 javaEE里边有三大框架 SSH struts spring ...

  4. C++基础笔记(四)C++内存管理

    析构函数 * 析构函数在对象所占用内存释放时调用,通常用来释放相关的资源 * 析构函数就是一个特殊的类成员函数,它是构造函数相反 构造函数:对象在分配内存之后,立即调用 析构函数:对象在内存被释放之前 ...

  5. [javase学习笔记]-8.6 静态的内存载入

    之前几节我们一直在说statickeyword所修饰的静态,那么在程序执行时,内存中static是怎样体现的呢?这一节我们就来看一看. 我们还是先看一个样例.希望我们通过对这个样例的分析让我们刚開始学 ...

  6. [javase学习笔记]-6.3 对象的内存体现

    这一节我们来简单的看一看对象在内存中是什么样子呢,怎样体现. 我们以上一节的測试代码为例. 我们在函数的内存分配分析过.当该代码执行时,首先会载入主函数在栈内存中为main函数分配一个空间: 然后执行 ...

  7. javase基础笔记1——简介和发展

    软件分为 系统软件 windows linux类 (unix)mac(麦金塔).数据库管理系统 unix linux 开源os(open source) 免费 开放 free os operation ...

  8. JavaSE基础笔记

    JVM 不是跨平台的,他是用 C++编写的. Path 环境变量的地址是 ...jdk/bin java_home 地址是 ...jdk

  9. JavaSE学习笔记(2)---面向对象基础

    JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...

随机推荐

  1. 【leetcode】Unique Paths II

    Unique Paths II Total Accepted: 22828 Total Submissions: 81414My Submissions Follow up for "Uni ...

  2. Linux下安装Flask开发框架

    Flask是开发pythonweb的一个轻量级框架,适合初学者使用,当有了熟练的web基础后,再继续学习高级框架的开发,Linux一般安装好之后都会有python开发环境,给开发带来方便,下面是Fla ...

  3. MyISAM 调度(优先级)的一些优化【转】

    MySQL的MyISAM引擎现在越来越被淡化了,但是还是有必要再温习总结一下的. 允许你改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间.改变优 ...

  4. ffmpeg-20160525-git-bin

    ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...

  5. 常用js学习

    http://www.cnblogs.com/qiantuwuliang/tag/js/

  6. MPAndroidChart 教程

    以前没用过MPAndroidChart,为了方便学习查找,引用下别个大神的笔记. 其余文章索引: MPAndroidChart 教程:概述MPAndroidChart 教程:开始 Getting St ...

  7. 【leetcode】Isomorphic Strings(easy)

    Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the chara ...

  8. Yii里获取当前controller和action的id

    Yii里获取当前controller和action的id 在控制器里$name = $this->getId();  // controller$name = $action->id;  ...

  9. MyEclipse8.5破解方法

    本文是转自其它博文,用以留着备份的~ Step: 1.建立一个任意名称的Java Project 2.在该工程中建立一个名文MyEclipseGen的Java文件(MyEclipseGen.java) ...

  10. NYOJ题目1047欧几里得

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAskAAAIcCAIAAACLpKQmAAAgAElEQVR4nO3dv1LjOsMH4O8m6LkQ6l ...