java基础复习二——面向对象一

面向对象三大特性:封装,继承,多态

类:对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义

对象:是实际存在的该类事物的每个个体,也称为实例

类之间三种关系:依赖关系(uses-a),聚集关系(has-a),继承关系(is-a)

面向对象:

1.将复杂的事情简单化

2.将以前的过程中的执行者,变成了指挥者

3.这种思想符合现在人们思考习惯的一种思想

匿名对象使用场景:
1.当对方法只进行一次调用时;

成员:

1.成员变量:事物的属性

2.成员函数:事物的行为

注意:属性是用于存储数据的,直接被访问量,容易出现安全隐患,所以类中的属性通常被私有化,并对外提供公共的访问方法,set()  get();

成员变量和局部变量的区别:

1.成员变量直接定义在类中,局部变量定义在方法中,参数上,语句中;

2.成员变量在这个类中有效,局部变量只在自己所属的大括号内有效;

3.成员变量存于堆内存中,随着对象的产生而存在,消失而消失,局部变量存于栈内存中,随着所属区域的运行而存在,结束而释放;

构造函数:对象创建时都需要初始化才可以使用

用于给对象进行初始化,给与之对应的对象初始化,具有针对性;

特点:

1.函数名与所在类名相同

2.不需要定义返回值类型

3.没有具体的返回值

注意:一个类中出现多个构造函数,它们的存在时可以重载体现的

分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内

构造代码块和构造函数有什么区别:

1.构造代码块:时给所有的对象进行初始化,只要对象一建立,就会调用这个代码块

2.构造函数:是给与之对应的对象进行初始化,具有针对性

类的访问权限

1.public:

对于成员,类来说:任何其他类都可以访问它们,不管是否在同一个包

2.friendly:
对于成员来说:如一个类的成员没有任何权限修饰,那么它们就是缺省包访问权限,用friendly来表示。
对于类来说:同一个包中的类可以用,类只可以声明为public或friendly。

3.private:

对于成员来说:只能在该成员所属的类中访问

对于类来说:类不可以声明private

4.protected:

对于成员来说:相同包中的类可以访问,基类通过protected把基类的成员访问权限赋予派生类不是所有类

对于类来说:类不可以声明为protected

注:

1.每个类文件仅能有一个public class

2.public  class的名称必须和其他类文件同名

3.一个类文件可以不存在public class

4.class 不可以时private和protected

5.如果不希望那个任何产生某个class 的对象,可以将该类得所有构造函数设置成private。但是即使这样也可以生成该类的对象,就是class 的static 的成员(属性和方法)可以办到。

时间: 2024-10-27 04:59:10

java基础复习二——面向对象一的相关文章

java 基础(二)

java 基础(二)java 基础(二) 2016-2-1 by Damon 61. 编写多线程程序有几种实现方式 Java 5以前实现多线程有两种实现方法:一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如果继承了Thread类就无法再继承其他类了,显然使用Runnable接口更为灵活. 补充:Java 5以后创建线程还有第三种方式:实现Callable接口,该接口中的

Java基础十二--多态是成员的特点

Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println(f.num);//是父类,答案是3 2,成员函数(非静态). 编译看左边,运行看右边. 因为成员函数存在覆盖特性. Fu f = new Zi();//f.show();输出的是子类里面的show方法 3,静态函数. 编译和运行都看左边. 静态函数不具备多态性,多态性是对象的多态性,然后静态函数不涉

Java基础复习笔记系列 四

Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时,不能指定其长度.不同于C 数组的小标可以是整型常量或整型表达式. .length方法是显示数组的长度:数组.length;String.length();一个是属性,一个是方法.注意区分. 2.数组的内存分析? Array a[]; a = new Integer(15); /*这个a在栈中,在堆

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

Java基础复习㈥ 内存分配

1.方法区 类的全限定名.直接超类的全限定名.该类是类或者接口.访问修饰符.直接超接口全限定名: 运行时常量池.字段.方法.静态变量.到类装载器的引用.到类class的引用 2.栈内存 局部变量区.操作数栈.帧数据区 3.堆内存 存放由new创建的对象和数组 *栈内存和堆内存 栈存取速度比堆快,仅次于寄存器,栈数据可以共享.栈中主要存放一些基本类型的变量和对象句柄 4.本地方法栈内存 5.String ① String str1 = "abc"; String str2 = "

Java基础复习笔记系列 五 常用类

Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String s2 = “hello”:结论:s1 == s2. 字符串常量放在data区. 3. String s3 = new String("hello"); String s4 = new String("hello");结论:s3 != s4.但s3.equals(s4).

Java基础复习笔记系列 七 IO操作

Java基础复习笔记系列之 IO操作 1. 2.

Java基础复习笔记系列 十 GUI

Java基础复习笔记系列之 GUI 1. 2.

Java基础复习笔记系列 九 网络编程

Java基础复习笔记系列之 网络编程 1. 2.