---恢复内容开始---

前记

虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master

标识符

标识符是由字母、_、$或数字组成

标识符应以字母、下划线、$开头(不能以数字开头)

java标识符大小写敏感,长度无限制

java变量

变量本质上是内存中的一小块区域,使用变量名来访问这块区域。每个变量使用前必须要先申 ,然后必须进行赋值,才能使用

double d1,d2,d3 = 0.123;//只有d3是0.123

方法的作用域:出了大括号 没人认识了

面向对象部分

类和对象:类可以看成一类对象的模板,对象可以看成该类的一个具体实例

关联关系:一个类的方法参数是另一个类的对象 (最弱的关系)

继承关系:xx是一种xx(一般和特殊)

聚合关系:(整体和部分)聚集 、组合(更严格,密不可分)

实现关系:

应该有 多少个类多少个对象-》这些类和对象里有多少属性和方法-》类和类之间的关系

定义成员变量时可以对其初始化,如不对其进行初始化,java使用默认的值对其进行初始化

java语言中除基本类型之外的类型都称为引用类型,引用类型占两块内存,一块是地址,另一块是new出来的东西 放在堆内存里

如何在内存中区分 类 和 对象:

类是静态的概念,位于代码区

对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)

构造方法

使用new+构造方法 创建一个新对象;当没有制定构造函数时,编译器为类自动添加形如  类名(){}的构造函数

this

在类的方法定义中使用的this关键字代表使用该方法的对象的引用

当必须指出当前使用方法的对象是谁时要使用this

有时使用this可以处理方法中成员变量和参数重名的情况

this可以看作是一个变量,它的值是当前对象的引用

static 关键字

在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员共享

用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给他,所以在static方法中不可访问非static的成员

静态方法不再是针对某个对象调用,所以不能访问非静态成员

可以通过对象引用或类名访问静态成员

Java权限修饰符public protected private置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限

修饰符

类内部

同一个包

子类

任何地方

Private

y

Default

Y

y

Protected

Y

y

y

Public

Y

y

y

y

继承能把父类所有的东西都继承下来,但是 private和default不能访问

对于class的权限修饰只可以用public和default

Public类可以在任意地方被访问

Default类只可以被同一个包内部的类访问

类的继承与权限控制

Java中使用extends关键字实现类的继承机制 (xx是一种xx)

通过继承,子类自动拥有了基类的所有成员(成员变量和方法)

Java只支持单继承,不允许多继承(一个子类只能有一个基类 一个基类可以派出多个子类)

方法的重写 overwrite

在子类中可以根据需要对从基类中继承来的方法进行重写

重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型

重写方法不能使用比被重写方法更严格的访问权限

---恢复内容结束---

前记

虽然已经是个研究生了,但是会的东西还是特别的少 甚至连java都不能说是很会 所以准备从现在开始能好好的学习java 变成java master

标识符

标识符是由字母、_、$或数字组成

标识符应以字母、下划线、$开头(不能以数字开头)

java标识符大小写敏感,长度无限制

java变量

变量本质上是内存中的一小块区域,使用变量名来访问这块区域。每个变量使用前必须要先申 ,然后必须进行赋值,才能使用

double d1,d2,d3 = 0.123;//只有d3是0.123

方法的作用域:出了大括号 没人认识了

面向对象部分

类和对象:类可以看成一类对象的模板,对象可以看成该类的一个具体实例

关联关系:一个类的方法参数是另一个类的对象 (最弱的关系)

继承关系:xx是一种xx(一般和特殊)

聚合关系:(整体和部分)聚集 、组合(更严格,密不可分)

实现关系:

应该有 多少个类多少个对象-》这些类和对象里有多少属性和方法-》类和类之间的关系

定义成员变量时可以对其初始化,如不对其进行初始化,java使用默认的值对其进行初始化

Java权限修饰符public protected private置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限

修饰符

类内部

同一个包

子类

任何地方

Private

y

Default

Y

y

Protected

Y

y

y

Public

Y

y

y

y

继承能把父类所有的东西都继承下来,但是 private和default不能访问

对于class的权限修饰只可以用public和default

Public类可以在任意地方被访问

Default类只可以被同一个包内部的类访问

类的继承与权限控制

Java中使用extends关键字实现类的继承机制 (xx是一种xx)

通过继承,子类自动拥有了基类的所有成员(成员变量和方法)

Java只支持单继承,不允许多继承(一个子类只能有一个基类 一个基类可以派出多个子类)

方法的重写 overwrite

在子类中可以根据需要对从基类中继承来的方法进行重写

重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型

重写方法不能使用比被重写方法更严格的访问权限

java语言中除基本类型之外的类型都称为引用类型,引用类型占两块内存,一块是地址,另一块是new出来的东西 放在堆内存里

如何在内存中区分 类 和 对象:

类是静态的概念,位于代码区

对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)

构造方法

使用new+构造方法 创建一个新对象;当没有制定构造函数时,编译器为类自动添加形如  类名(){}的构造函数

this

在类的方法定义中使用的this关键字代表使用该方法的对象的引用

当必须指出当前使用方法的对象是谁时要使用this

有时使用this可以处理方法中成员变量和参数重名的情况

this可以看作是一个变量,它的值是当前对象的引用

static 关键字

在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员共享

用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给他,所以在static方法中不可访问非static的成员

静态方法不再是针对某个对象调用,所以不能访问非静态成员

可以通过对象引用或类名访问静态成员

super

1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)

2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)

3)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参)

4)this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)

5)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。

6)super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。

7)super()和this()均需放在构造方法内第一行。

8)尽管可以用this调用一个构造器,但却不能调用两个。

9)this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。

10)this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块

11)从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。

Object

equals()

getclass()

hashcode() 返回hash编码

toString() public String toString()方法,其返回值是String类型;在进行String与其他类型数据的连接操作时,将自动调用该对象类的toString()方法;可以根据需要重写toString()方法

equals

object类中定义有:

public boolean equals(Object obj)方法 提供定义对象是否相等的逻辑

Object的equals方法定义为:x.equals(y)当x和y所引用的对象是同一类对象且属性内容相等时,返回true否则返回false

J2SDK提供的一些类,如String,Date等,重写了Object的equals方法

对象转型(casting)

一个基类的引用类型变量可以指向其子类的对象

一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)

可以使用引用变量instanceof类名来判断该引用型变量所指向的对象是否属于该类或该类的子类

子类的对象可以当作基类的对象来使用称作向上转型upcasting,反之成为向下 downcasting

动态绑定和多态

动态绑定是指 在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法

多态的必要条件:

要有继承 要有重写 父类引用指向子类对象

马士兵 java 学习笔记_马士兵java教程笔记1相关推荐

  1. vb教材笔记_金文老师vb教程笔记(完整版).doc

    金文老师vb教程笔记(完整版) 金文老师vb教程笔记 vasual basic 程序开发环境 第一章visual basic 的启动与退出 启动vb的四种方法: 使用"开始"菜单中 ...

  2. 廖雪峰python教程整理笔记_廖雪峰python教程笔记(一)

    变量与变量名 如 a = 123,此时,python解释器在做了两件事,在内存中创建了一个整数123对象,在内存中创建了一个名为a的变量.并把它指向123,一个赋值语句被执行后,内存中一个变量名与它所 ...

  3. java学习需要具备什么基础,大量教程

    大学生学习Java需要注意些什么?大学生学习Java需要注意些什么?互联网行业,零基础也能学习.只要你肯努力,有真才实学,就会体会到敲代码的快乐.为什么Java行业吸引了大学生前来学习呢?一是因为就业 ...

  4. 亚马逊深度学习库_汽车Linux,8位社交,与Amazon的深度学习以及更多新闻

    亚马逊深度学习库 在本周的开源新闻摘要中,我们将介绍汽车Linux,社交8位,具有神经网络的深度学习等等! 2016年5月7日至14日的开源新闻摘要 汽车用Linux等于大型汽车制造商的快速创新 Li ...

  5. 初学者java学习计划_初学者:计划在Windows 7 Media Center中录制直播电视的时间

    初学者java学习计划 If you're a new user to Windows 7 Media Center you know it can act as a DVR and pause or ...

  6. java学习里程碑_记录您的里程和社区运行情况:Java EE 7真实体验

    java学习里程碑 miles2run.org是跟踪跑步活动并与亲朋好友共享的简便方法. 可以创建然后跟踪基于天或基于距离的目标. 它还允许创建社区运行目标,并使多个跑步者参与并跟踪他们朝着该目标的活 ...

  7. Java学习路程1—— 一篇合理的笔记

    1.了解Java发展史和其特点特性 1.1 Java发展史 Java最初由SUN公司创建(1992年),是对C++语言进行改造得到的语言,去除了C++复杂的指针和内存管理,起初结合了嵌入式系统的实时性 ...

  8. java学习出师_没基础怎么学好java?120天出师

    有人说java比较容易入门,也有人说Java比较难学,这要根据个人的基础而定.但总体来说,java有着先天的优势,那Java有哪些优势呢?我们来具体看看吧. Java的优势 没基础怎么学java?当下 ...

  9. java学习出师_零基础学java来这里 出师如此简单

    当今时代是互联网的时代,互联网时代的到来,使得我们的生活更加便利,同时互联网时代的到来也大大增加了市场对于技术人才的需求,在此时,Java编程语言的许多特性势使得它迅速成长,学习的人也越来越多 jav ...

最新文章

  1. linux 提权方法总结
  2. Python内置模块bisect(二分查找实现和快速插入有序序列)
  3. 数据结构与算法 / 排序算法 / 堆排序
  4. 命令行command更新android sdk + gradle设置代理
  5. linux kernel 三次握手建立TCP链接的实现
  6. Linux 释放缓存的方法
  7. 牛客题霸 [ 岛屿数量] C++题解/答案
  8. mysql 5.6 ibdata1_mysql 里的 ibdata1 文件不断的增长?
  9. 第二次作业 讲解及展示
  10. Python爬虫 ---(1)爬虫基础知识
  11. UI素材模板|新拟态新趋势图标ICON
  12. Learn OpenGL(五)——定义自己的着色器
  13. shell 中的expect 用法
  14. 【每天一个 Linux 命令】tree命令
  15. 电脑不限时长的录屏软件分享
  16. 使用Javascript无限添加QQ好友原理解析
  17. Android 带你玩转实现游戏2048 其实2048只是个普通的控件
  18. 监控摄像机如何连接到手机 手机APP远程连接常用方法
  19. P5707 【深基2.例12】上学迟到
  20. 为什么 Python 不支持函数重载?其他函数大部分都支持的?

热门文章

  1. 解决shapes (none,111) and (none,111) are incompatible
  2. java取余位运算_使用位运算取余
  3. 位运算实现加减乘除运算
  4. 服务器一堆pymp文件夹无法删除的解决方法
  5. level升级打怪是什么意思_工业平板电脑的常规升级是什么意思?以液晶屏来说明...
  6. html中鱼眼效果,鱼眼镜头使用入门指南:鱼眼镜头应该怎么用(附后期鱼眼效果)...
  7. Acoustics | 声音时间检测:日常声音理解
  8. 三星自定义状态栏_极简操作无需root隐藏S8导航栏和状态栏
  9. wxX11移植到arm板上(序)
  10. 现在的亚马逊收款账户怎么开?容易开吗?有谁了解过?