`
文章列表
一、理解   设计模式是解决某一类问题最行之有效的方法 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 二、java中有23种通用设计模式       主要分为三个类型:创建型模式、结构型模式、行为型模式
一、异常   就是程序在运行时出现不正常的情况 异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象 所以,异常其实就是java对不正常情况进行描述后的对象体现 二、好处   将问题进行封装 将正常流程代码和问题处理代码相分离,方便于阅读 三、问题有两种   1,严重的问题:java通过Error类进行描述  
一、Object   是所有对象的直接或者间接父类,该类中定义的肯定是所有对象都具备的功能 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。 二、Object类详解   public c ...
一、内部类       将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)   二、理解       当描述事物时,事物的内部还有事物,该事物用内部类来描述,因为内部事物在使用外部事物的内容 如: class Body//身体 { private class Heart//心脏 { //....... } }   三、特点  
一、多态       某一类事物的多种形态   体现:父类或者接口的引用指向或者接收自己的子类对象。。如:动物 y = new 猫 作用:多态的存在提高了程序的扩展性和后期可维护性 前提:1,需要存在继承或者实现关系 2,要有覆盖操作 弊端:虽然提高了扩展性,但是只能使用父类的引用访问父类中的成员 多态自始至终都是子类的对象在做着变化 二、特点   多态调用: 父类 f = new 子类(); 成员函数:在多态调用时,编译看左边,运行看右边 成员变量:无论编译和运行中,都参考左边(引用型变量所属的类)
一、接口   Java中的接口是一系列方法的声明,是一些方法特征的集合。 一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 是用关键字interface定义的 可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示 二、接口中包含的成员   最常见的有全局常量、抽象方法。 都是public的 注意:接口中的成员都有固定的修饰符 成员变量:public static final 成员方法:public abstract 如果public static fi ...
一、抽象类(abstract)       当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取,只抽取功能定义,而不抽取功能主体   二、抽象方法所在类一定要标示为抽象类,也就是说该类需要被abstract关键字所修饰   三、abstract可以修饰类和方法不能修饰变量   四、抽象类特点   抽象方法一定在抽象类中 抽象方法和抽象类都被abstract修饰 抽象类不能new对象,因为调用抽象方法没有意义 抽象类中的方法要被使用,必须由子类覆盖其所有的抽象方法后,建立子类对象调用。 如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类(即强迫子类 ...
一、继承(extends)       Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。   二、好处   提高了代码的复用性,能够大 ...
一、创建一个Person对象       Person p = new Person("张三",25);   二、创建一个Person对象都做了些什么事情?   因为new用到了Person.class,所以会先找到硬盘上的Person.class文件并加载到内存中 执行该类中的static代码块,如果有的话,给Person.class类进行初始化 在堆内存中开辟空间,分配内存地址 在堆内存中建立对象的特有属性。并进行默认初始化 对属性进行显示初始化 对对象进行构造代码块初始化 对对象进行对应的构造函数初始化 将内存地址赋给栈内存中的p变量(p ...
  一、static关键字       static是一个修饰符,用于修饰成员(成员变量和成员函数)   二、被修饰后的成员具备以下特点   随着类的加载而加载,也就是说:静态会随着类的消失而消失。说明它的生命周期最长 优先于对象存在,明确一点:静态是先存在的,对象是后存在的 被所有对象所共享 可以直接被类名调用 三、使用注意 静态方法只能访问静态成员,因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员 静态方法中不可以写this,super关键字,理由同上 主函数是静态的 四、实例变量和静态变量的区别   成员变量所属于对象。所以也称 ...
一、理解   this代表本类的对象,即所在函数所属对象的引用 简单说:哪个对象在调用this所在的函数,this就代表哪个对象 二、用法   用于区分同名变量 用于构造函数间相互调用时只能用this(),并且要放在构造函数的第一行,因为构造函数是用于初始化的,所以初始化动作一定要执行。否则编译失败 在定义功能时,如果该功能内部使用到了调用该功能的对象,这时就用this来表示这个对象 三、示例   class PersonDemo { public static void main(String[] args) { Person p = ...
  一、构造函数   分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内   二、特点   函数名与类名相同 不用定义返回值类型 不可以写return语句 三、作用       给对象进行初始化   四、注意   一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,方便该类创建对象,完成初始化。 如果在类中自定义了构造函数,那么默认的构造函数就没有了。 多个构造函数是以重载的形式存在的 记住:所有对象创建时,都需要初始化才可以使用。 五、构造函数与一般函数的区别
一、封装(Encapsulation)       是指隐藏对象的属性和实现细节,仅对外提供公共访问方式   二、好处   将变化隔离 便于使用 提高重用性 提高安全性 三、封装原则   将不需要对外提供的内容都隐藏起来 把属性都隐藏,提供公共方法对其访问 四、private权限修饰符   用于修饰类中的成员(成员变量,成员函数) 私有只在本类中有效 将成员变量(Xxx)私有化,对外提供对应的setXxx,getXxx方法对其进行访问。 提高对数据访问的安全性。 可以在访问方式中加入逻辑判断等语句,对访问的数据进行操作,提高代码健壮性
一、类和对象的关系    可以理解为:图纸对应类,汽车对应堆内存中的对象   二、详解   类:就是对现实生活中事物的描述 对象:就是这类事物实实在在存在的个体 三、怎样定义类   描述事物其实就是在描述事物的属性和行为 属性对应类中的变量,行为对应类中的函数(方法) 其实定义类,就是在描述事物,就是在定义属性和行为 属性和行为共同成为类中的成员(成员变量和成员方法) 四、成员变量和局部变量的区别   作用范围:成员变量作用于整个类中。局部变量作用于函数或者语句中 内存中的位置:成员变量在堆内存中,因为对象的存在。而局部变量存在于栈内存中 五、 ...
一、面向对象理解   面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程:强调的是功能行为 面向对象:将功能封装进对象,强调具备了功能的对象 面向对象是基于面向过程的 二、好处   将复 ...
Global site tag (gtag.js) - Google Analytics