马士兵java教程笔记1

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

前记函数

虽然已是个研究生了,可是会的东西仍是特别的少 甚至连java都不能说是很会 因此准备从如今开始能好好的学习java 变成java master学习

标识符this

  • 标识符是由字母、_、$或数字组成 
  • 标识符应以字母、下划线、$开头(不能以数字开头)
  • java标识符大小写敏感,长度无限制

java变量编码

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

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

 

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

面向对象部分对象

类和对象:类能够当作一类对象的模板,对象能够当作该类的一个具体实例blog

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

继承关系: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 

 

动态绑定和多态

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

多态的必要条件:

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

相关文章
相关标签/搜索