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

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  2. C#创建和调用WebService详细教程

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  3. 对map创建出来的值顺序排序问题

    TreeMap 在用Ajax动态创建checkBox时,而把值放在了HashMap中,hashMap是无序的,因此你动态创建出来的顺序是乱的,比如你想要的顺序是1.2.3.4但出来的结果可能是 3.2 ...

  4. IOS-01零碎知识总结

    1. 变量的@public @private @package @protected 声明有什么含义? @public  可以被所有的类访问 @private  只有该类的方法可以访问,子类的都不能访 ...

  5. August 11th 2016, Week 33rd Thursday

    A particular fine spring came around. 转眼又是一番分外明媚的春光. Hey, it is hot outside, sometimes even unbearab ...

  6. Java version 32转64位

    本来在cmd中 输入 java -version后显示 为 32位,现在需要转为64 位因为eclipse 不兼容,方法: ()下载 java 1.8 64位,安装,然后 ()进入环境变量 发现有两个 ...

  7. DB2 SQL Mixed data in character strings

    Mixed character data and graphic data are always allowed for Unicode, but for EBCDIC and ASCII, the ...

  8. 启动ip转法功能

    这种方法无需重启: [root@ha02 ~]# cat /proc/sys/net/ipv4/ip_forward [root@ha02 ~]# sysctl -w net.ipv4.ip_forw ...

  9. SQL学习笔记----更改SQL默认的端口号

    1.SQLServer配置管理器----SQLServer网络配置----MSSQLSERVER的协议---TCP/IP(已启用)---IP地址 清空素有的IP,在IPALL下更改默认的端口: 2. ...

  10. Clr Via C#读书笔记---程序集的加载和反射

    #1 加载程序集 Assembly.Load: public class Assembly { public static Assembly Load(AssemblyName assemblyRef ...