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

抽象类

1.包含一个抽象方法的类为抽象类,抽象类要用abstract修饰,不能直接使用其实例化对象,可以声明对象。

ps:什么是抽象方法呢?就是一个只被定义,而没有实现的方法(public abstract void fun();),就是没有{….方法体…}的方法。

2.抽象类是给子类继承的,继承抽象类的子类必须覆写所有抽象方法,否则该子类还是抽象类,不能实例化对象。

3.抽象类当然不能用final修饰

例:

/**
 * 定义抽象类,用abstract修饰
 * 至少包含一个抽象方法*/
public abstract class AbstractClass {
    //抽象方法,没有方法体
    public abstract void fun();
}

接口

1.接口是一个特殊的类,Java中的接口是由抽象方法和全局常量组成。

例:

/*
 * 定义一个接口
 * 由全局常量和抽象方法组成
 * */
public interface InterfaceDemo {
    public static final String INFO = "CHNA";//全局常量
    public abstract void fun();//抽象方法
}

2.接口是供一个子类实现的,用implement关键字

例:

/*
 * 实现接口 InterfaceDemo
 * 要覆写接口的全部抽象方法
 * */
public class ImplementInterfaceDemo implements InterfaceDemo {
    @Override
    public void fun() {}
}

3.在定义接口时,内部的全局常量的修饰词public static final 关键字可以省略,内部的抽象方法的修饰词public abstract关键字可以省略

4.一个类若既有继承又有实现,则先继承,在实现。

例:

class A extends 类名称 implements 接口名称1,接口名称2{}

5.一个抽象类可以实现多个接口,但一个接口不可以继承抽象类,可以实现多个接口

抽象类与接口的区别:

匿名内部类

一个对象只使用一次,可以使用匿名对象,如果一个类只使用一次则可以用匿名内部类了。

public interface A {
    public void fun();
}
//实现A接口
class B implements A {
    @Override
    public void fun() {
        System.out.println("Hello World!");
    }
}
class xx{
    public void temp(A a){
        a.fun();
    }
    public void fun1(){
        temp(new B());
    }
}
public class Demo{
    public static void main(String[] args){
        new xx().fun1();
    }
}

若B类只使用一次,则可以用匿名内部类实现上面的代码:

public class X {
    public void temp(A a){
        a.fun();
    }
    public void fun1(){
        temp(new A(){
            @Override
            public void fun() {
                System.out.println("hello");
            }
        });
    }
}

异常

1.Java中对异常的处理机制:扑捉异常,抛出异常

2.异常的处理可以使程序在有错误时,可以继续执行下去

3.异常的处理格式:

try{
    可能出现异常的代码段
}catch(异常类 异常对象){
    处理异常
}catch(异常类 异常对象){
    处理异常
}....
finally{
    异常的出口,不管是否有异常,该段语句都会执行
}

包及访问权限

1.包就是一个文件夹,使用package关键字声明包,需要在一个类文件的第一行

2.程序中使用其他的包,可以重具体位置导入,用import语句表示

3.包的静态导入,若一个类中的方法或者变量全部是静态的,则可以使用静态导入,规则:import static 包名

4.包的访问权限:

未完待续。。。。

时间: 2024-12-31 04:03:46

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

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

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

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

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

Java基础知识:面向对象

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

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

类(对象)之间的关系之关联关系:比如学院-教授,学院-研究生,教授-研究生. 继承关系是一般和特殊的关系:比如:运动员-球类运动员-篮球运动员. 聚合关系是整体和部分的关系,包括聚集和组合2种类型,比如球队-队长和队员:人-头.身体和脚. 接口是实现的关系,多种类对象实现同一种接口,但是接口的功能根据自己的需要设置. 多态:职员-交通工具(行驶(),刹车())-摩托车.自行车.骑车. Java语言中除基本类型之外的变量类型都称之为引用类型,Java中的对象是通过引用对其操作的.比如: Strin

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

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

第1天:了解Java基础知识

Java的优势 1. 简单 不像C或者C++语言,Java中省去了对指针的操作.但是,Java中并没有省去指针,代替指针的是一种新的变量--引用,引用也是保存一个对象的内存地址. 2.方便 Java虚拟机自带垃圾回收器,能够自动回收内存资源.而C和C++语言,需要开发人员手动进行内存资源回收. 3.安全 不支持指针操作 4.平台无关性 Java语言是跨平台的,一次编译,到处运行. 而且,不同平台,C语言中数据类型所占的位数是不同的,而Java语言中,数据类型所占的位数是固定的. 5.面向对象 J

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

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

【小白的java成长系列】——Java基础知识

今天来说说java的基础知识,个人感觉都不知道要说啥的,还是为后面的内容做一些铺垫吧~ 今天主要说的都是java面向对象之前的基础知识,比如数据类型呀,表达式运算符呀~等等一系列的知识,下节来说说面向对象.今天这节我就不用程序来说明,直接用文字说明.因为个人感觉真木有啥好说的,这些程序后续都会说到的,比较简单,写写就会了的..好吧~开始了... 1. Java数据类型划分: 基本数据类型:都是一个个具体的值 数值型:表示具体的数字,所有的整数默认情况下都是int,所有的小数都是double型的

Java基础知识的三十个经典问答

Java基础知识的三十个经典问答 1.面向对象的特点 抽象: 抽象是或略一个主题中与当前目标的无关的因素,一边充分考虑有关的内容.抽象并不能解决目标中所有的问题,只能选择其中的一部分,忽略其他的部分.抽象包含两个方面:一是过程抽象:一是数据抽象. 继承 继承是一种联接类的层次模型,允许和鼓励类的重用,提供了一种明确的共性的方法.对象的一个新类可以从现有的类中派生,这叫做类的继承.心累继承了原始类 的特性,新类称为原始类的派生类或者是子类,原始类称为新类的基类或者父类.子类可以从父类那里继承父类的