短实习----Java面向对象(基础知识)

来源:互联网 发布:api原油库存数据变化 编辑:程序博客网 时间:2024/05/10 16:27

重点知识:

1.类的定义

2.对象的创建和引用

3.this关键字

4.垃圾回收机制

一、面向对象的概念

1.抽象:

从事务中舍弃个别的非本质特征,抽取共同的本质特性;只考虑与问题域相关的信息,而忽略与问题域不相关的部分

2.对象:是系统中用来描述客观事实的一个实体,万物皆对象

①可以是无形的,也可以是有形的

②对象是构成世界的一个独立单位

③具有自己的静态结构(属性)和动态行为(方法)

④每个对象有自己的唯一标识

3.类:类是一组具有相同属性和行为的对象的抽象,类的作用是用来创建对象,对象是类的实例

①类和对象的关系:每一个类在某一个时刻都有零个或更多实例,类是生成对象的模板

②抽象和具体的关系:一个类定义了使用哪些数据来描述属性,每一个对象都有相应的属性值数据,一个类通过一系列方法来定义行    为,这些方法能在每个对象中被激活

二、对象的创建和使用

1.语法格式:类名  对象名=new 构造器      例:Employee   e=new Employee()

2.构造器

①具有与类相同的名称

②不含返回值类型

③不能在方法中用return语句返回一个值

3.构造器作用

①完成对象的创建,即完成对象的实例化

②一般使用构造器来完成对成员变量的初始化

4.匿名对象

①创建完对象,在调用该对象的方法时,也可以不定义对象的句柄,而直接调用这个对象的方法

②如果对一个对象只需进行一次方法调用时使用匿名对象

三、变量的作用域

1.类变量:用static修饰的成员变量,他们在类被载入时创建,只要类存在,static变量就存在

2.实例变量:类体中声明的成员变量,即非static的属性

3.局部变量:方法体中声明的变量,方法中的参数或代码块中声明的变量;局部变量只在方法调用的过程中有效,方法调用结束后失效

四、this关键字

1.代表对象自身的引用

①一个引用

②指向调用该方法的当前对象

③通常在类的方法中定义中使用

2.用this关键字的情况

①方法中的变量与成员变量重名

②在一个构造其中,调用其他重载的构造器

③返回当前对象的引用

五、垃圾回收机制

1.java的垃圾回收机制是自动的,是保证程序健壮的主要手段,避免了由于程序员忘记回收内存而引起的内存泄漏,同时也避免了回收内存带来的代码繁琐

2.垃圾回收机制实际上是JVM内部运行的一个优先级比较低的后台程序,这种对多线程的模式使得java具有更好的性能,完全不用程序员参与

3.垃圾回收机制仅仅作用于栈内存,与堆内存无关

六、面向对象的特征

1.继承(inheritance)

①也称泛化,继承性是子类自动共享父类属性和方法的机制,在定义和实现一个类时,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的     内容,并加入自己若干新的内容

②继承简化了人们对事物的认识和描述,有益于软件复用,是提高软件开发效率的重要原因之一

③是类之间的一种关系,一半类与特殊类之间的关系

④在Java中定义一个类时,让该类通过关键字extends继承一个已经有的类

⑤被继承的类称为父类(超类、基类)新的类称为子类(派生类)

⑥子类继承父类的所有属性和方法,同时也可以增加自己的属性和方法

⑦Java中只能单继承,也就是说每个类只能有一个直接父类,一个父类可有多个子类

1.1继承实例化的过程

①子类实例化时先父类后子类

②调用构造器时先调用父类的构造器,后调用子类构造器

③在子类中创建构造器:必须先调用父类的构造器;子类可以在自己的构造器中使用super关键字来调用父类的构造器 

④如调用的是父类中无参的构造器,则可以不写super()

1.2super和this关键字

①super()

作用:调用父类的构造器;

只能出现在子类的构造器中,且必须是第一行;

super()中的参数,决定了调用父类中的哪个构造器;

如果子类构造器中没有出现super,那么构造器会默认加上super(),即调用父类的空构造器,如果父类没有空构造器,编译器提示错误

②this()

作用:调用本类的构造器

只能写在构造器的第一行

注:在同一个构造器中super()和this()不能同时出现

2.多态(同一个事物有不同的形态)

①指同一个命名可具有不同的语义

②在方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法代替实现父类的服务的方法

③多态存在的三个必要条件:要有继承或实现,要有重写,父类引用指向子类对象

一旦满足以上3个条件,当调用父类中被重写的方法后,运行时创建的是哪个子类的对象,就调用该子类中重写的那个方法

④在执行期间(而非便宜期间)判断所引用对象的实际类型,根据其实际类型调用相应的方法

⑤多态的优点:简化代码;改善代码的组织性和可读性;易于扩展

3.封装

①良好的封装能减少耦合

②类内部的结构可以自由修改

③可以对成员进行更精确的控制

④隐藏信息实现细节

对封装解释到位的博客:http://blog.csdn.net/chenssy/article/details/12757911

七、Java包的概念

1.Java包的概念及应用

在Java中,包允许将类组合成较小的单元;you'zu有助于避免命名冲突;包允许在更广的范围内保护类、数据和方法

注:包可以是类、接口和子包的集合。每个源文件只能声明一个包

2.Java类库中常用的包

Java.lang:Java语言包,任何程序中,该包都被自动导入

Java.awt: 图形用户界面包

Java.swing:跨平台轻量级组件包

Java.sql:数据库访问包

Java.io:这个包又对您的输入/输出操作有用的类组成

Java.util:该包提供了许多创建如:lists、calendar、date等所需要的类和接口

Java.net:该包提供了许多进行TCP/IP网络编程的类和接口

3.import导入包中的类

①包名.路径名

②使用import关键字引入其他包中的类

③位于同一包中的类可以直接访问

导入包中的所有类:import 包名*;

导入子包中所有的类:import 包名.子包名.*;

导入包中的某个类:import 包名.子包名.类名;

八、访问权限控制符

1.用来控制类的成员和类的使用范围

2.类成员的访问权限修饰符:private、default、protected、public

3.类的访问权限修饰符:public、 default



原创粉丝点击