Java基础知识之面向对象(二)

类(对象)之间的关系之关联关系;比如学院-教授,学院-研究生,教授-研究生。

继承关系是一般和特殊的关系;比如:运动员-球类运动员-篮球运动员。

聚合关系是整体和部分的关系,包括聚集和组合2种类型,比如球队-队长和队员;人-头、身体和脚。

接口是实现的关系,多种类对象实现同一种接口,但是接口的功能根据自己的需要设置。

多态:职员-交通工具(行驶(),刹车())-摩托车、自行车、骑车。

Java语言中除基本类型之外的变量类型都称之为引用类型,Java中的对象是通过引用对其操作的。比如:

String s;声明了一个String类型的引用变量,但并没有使它指向一个对象。此时java默认的初始值是null。

s=new String("hello world");使用new语句创建了一个String类型的对象并用s指向它,以后可以通过s完成对其的操作。s的值为堆内存给该对象分配的地址,s实际是指向该地址,之后的操作是对该地址中的值进行操作。

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

类是静态的概念,位于代码区,一般存放在方法区,在sun公司的系列JDK中是放在永久代中。对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)而方法只有一份,执行的时候才占用内存。

对象的创建和使用:

必须使用new关键字创建对象,使用对象(引用).成员变量来引用对象的成员变量;使用对象(引用).方法(参数列表)来调用对象的方法。

同一个类的每个对象有不同的成员变量存储空间,同一个类的每个对象共享该类的方法。71

时间: 2024-10-07 22:22:41

Java基础知识之面向对象(二)的相关文章

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

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

Java基础知识之面向对象(1)

什么是面向对象: 比如我们想做一个盒子,先想一下盒子的样子,然后找具体的工具来做出我们想要的盒子,这个过程就是面向对象. 面向对象的特征 封装.继承.多态 封装:内部资源对外部不可见 继承:扩展现有类的功能 多态:方法可以重载,对象可以有多个形态 类与对象的理解 类:具有相同特征的一类事物(如:两个眼睛,一个鼻子,一个嘴的人,人就是一个类), Java中定义类的具体方法: class 类名称{ 成员变量: .... 成员方法: } 对象:一个类的具体体现,对于上面说的人,任何一个个体都是一个对象

Java基础知识:面向对象

1.类 Java类里,包含属性,方法,构造函数,初始化块,局域变量,内部类等成员,每种成员可以被各种修饰符修饰.其实被static修饰符修饰的成员,被称为静态成员(类成员),而没有被static修饰的成员,被称为实例成员. 1)静态成员(类成员) 静态成员属于整个类,而不属于单个对象.类成员被static关键字修饰的静态属性,静态块,静态方法,静态内部类等. 对static关键字而言,有一条非常重要的规则:类成员(静态属性,静态初始化块,静态方法,静态内部类)不能访问实例成员(实例属性,实例初始

Java基础知识之面向对象(2)

抽象类 1.包含一个抽象方法的类为抽象类,抽象类要用abstract修饰,不能直接使用其实例化对象,可以声明对象. ps:什么是抽象方法呢?就是一个只被定义,而没有实现的方法(public abstract void fun();),就是没有{-.方法体-}的方法. 2.抽象类是给子类继承的,继承抽象类的子类必须覆写所有抽象方法,否则该子类还是抽象类,不能实例化对象. 3.抽象类当然不能用final修饰 例: /** * 定义抽象类,用abstract修饰 * 至少包含一个抽象方法*/ publ

Java基础知识总结(二)

&和&&的区别: 按位与:a&b是把a和b都转换成二进制数后逐位进行与的运算.若两数字的某位都为1,则该位的运算结果才为1.运算的最终结果是数字. 逻辑与:a&&b就是当且仅当a和b都为true时,其结果才为true.最终结果是true或者false. 按位与(&)其实也可以用作逻辑与,不过它与&&比不足之处是没有短路功能.所谓短路,就是a&&b,若经过运算a是false,则不再浪费时间去判断b了. 参考链接:http

java基础知识回顾之面向对象

一 . 抽象类 什么是抽象类?很简单,就是用abstract关键字修饰,并允许包含未实现方法的类. 什么时候定义抽象类?在有些情况下,可能有些方法无法确定要怎么实现,这时就可以定义抽象类,无法实现的方法定义成抽象方法. 抽象类的特性: 1. 不能实例化,即不能创建对象,只能作为父类被继承. 2. 子类继承一个抽象类后,必须实现父类的抽象方法. 3. 抽象类中可以有抽象方法,也可以不包含抽象方法,但如果包含抽象方法,就必须定义成抽象类. public abstract class Shaoe{ p

java基础知识(二)

1.关于static关键字总结: 1.不能在static修饰的方法中引用this变量,只能引用一些静态变量或方法,或new新的对象(可以定义局部变量). 简言之,静态方法或块中,只能引用静态的方法或变量. 2.类中的成员变量(static修饰)有缺省值,而类的定义的方法中的局部变量没有缺省值. 3.在类的构造器中,可以引用任何的静态或非静态的变量和方法,可以在非static方法中调用static方法. 4.static{}块中的代码在类装载中仅执行一次. 5.在7-7,A staticmetho

Java基础知识(二)

1,字符串 new String("abc")创建了几个对象? 一个或两个,如果常量池中原来有"abc",则只创建一个对象:如果常量池中原来没有字符串"abc",那么就会创建两个对象. String s="abc"; String s1="ab"+"c"; System.out.println(s==s1); 输出 true ,因为"ab"+"c"

java基础知识回顾之---java String final类普通方法

辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      *      * 1,获取:     * 1.1 获取字符串中字符的个数(长度).     *         int length();     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数.字符串的序数从0开始到length()-1 .     *