JAVA5

10 篇文章 0 订阅
本文详细介绍了Java中的核心特性,包括包(package)、导入(import)、继承、访问控制、public类、Java Bean、方法重写、super关键字、构造器、instanceof、多态性、抽象类、Object类、final关键字、常量、接口、异常处理和String对象的不可变性。通过这些概念,读者可以深入理解Java编程的基础和精髓。
摘要由CSDN通过智能技术生成

1.package

package用来定义一个包,包的作用在于解决类名冲突的问题,同一个包不允许出现相同的类名

包的结构是有层级的,我们使用小数点分割包结构,我们可以使用包名.name来获取指定的某一个类

我们往往使用自己所在公司域名的倒写作为当前的包名

2.import

import导入某个类,那么在当前类中就可以直接使用该类,而无需写全类名

注意同一个包下无需导入类就可以直接使用

import 包名.*;可以导入该包下的所有类

注意:java.lang包是唯一一个无需导包而可以直接使用的包

3.继承

xxx是一种xxxx

子类继承父类,子类就自动拥有了父类所有的成员,包含成员变量和方法;

除此之外,子类还可以包含新增加的成员

在Java中使用extends来完成继承关系

//Java中不存在多继承,一个子类不能同时继承多个父类

4. 访问控制相关

同一个类同一个包子类任何地方
privatey
默认(不写)yy
protected 受保护的yyy
public 公共的yyyy

它们分别可以用来修饰成员变量和方法

5.public修饰类

被pubilc修饰的类在当前项目中任何地方都可以使用,否则只能在当前包下使用

6.Java Bean

一个实体类,它的所有成员变量都是private,并且对应每个成员变量都提供一个无参的构造方法,那么这样一个实体类称为java bean,

java bean 体现了面向对象的封装性

7.重写

继承关系的两个类,子类重写父类中的方法,重写方法和被重写方法具有相同的声名部分,但方法的实现不一样,我们根据调用者的类型来确定调用的方法是父类或子类中的方法;

在方法调用的时候,首先到该对象所在类中去找这个方法,如果没有找到,会沿着继承关系去父类中寻找

8.super

super存的是父类对象的内存地址

在对象内部,有一个super关键字表示当前对象中的父类对象的引用,它指向当前对象的父类对象

我们可以使用super.成员变量来调用父类的成员变量

super.方法来调用父类中的方法;

9

子类在构造的过程中,必须先调用父类的构造方法先构造出父类对象

我们在子类的构造方法中可以使用super(参数列表),来调用父类中的某个构造方法创建父类对象

super();必须写在子类构造方法第一行

如果子类构造方法中没有使用super语句调用父类构造方法,而父类中又没有无参的构造方法,则编译报错

10

在构造方法时,还可以使用this(参数列表)来调用本类其他构造方法来调用方法

11 instanceof

判断某一个类是否是某一个类的对象

Animal a = new Animal("小可啊");
System.out.println(a instanceof Animal);
Cat c = new Cat("tom","blue");
System.out.println(c instanceof Cat);
System.out.println(c instanceof Animal);

注意:

1.父类引用可以指向子类对象,父类引用无法访问子类对象中新增加的成员,子类对象被当作父类的类型来使用,这叫做向上转型。

2.将父类类型转化成子类类型的过程称为向下转型,向下转型后,我们就可以访问子类中新增加的成员

Animal e = new Dog("循环","black");
System.out.println(e.getName());
Dog d  = (Dog) e;
System.out.println(d.getFurColor());

注意:父类引用指向子类对象,可以使得我们的程序可扩展性好

 static void f(Animal a){
        System.out.println(a.getName());
        if (a instanceof Cat) {
            Cat a2 = (Cat)a;
            System.out.println(a2.getEyesColor());
        } else if (a instanceof Dog) {
            Dog a2 = (Dog)a;
            System.out.println(a2.getFurColor());
        }
    }

12 多态性

多态性:父类的引用调用父类的方法,实际上调用的是子类的方法

要有继承
要有重写
父类引用指向子类对象
满足以上三个条件,父类的引用调用父类的方法,实际上调用的是子类的方法

13 抽象类

抽象方法,一个方法如果只有声名而没有实现,那么该方法被称为抽象方法,抽象方法必须被abstract关键字修饰

抽象类,含有抽象方法的类称为抽象类,抽象类必须被继承,抽象类必须被abstract关键字修饰,抽象方法必须被重写,

抽象类不能直接被实例化

14 Object类

Object类是所有类的父类,当某个类不继承任何类时,等同于它继承了object类,所有类都拥有Object类中的方法

toString(),用来描述一个对象的方法,Object类中的toString()返回的时候当前对象所在类的全类名@哈希编码

我们自己的类往往需要重写toString,用来描述当前类

equals(Object)用来比较两个对象是否相等,Object对象中的equals方法比较的标准是两个对象是同一个对象时返回true

我们通常需要自己重写equals方法,进行成员变量的比较

15 final

这是一个关键字,final修饰的类称为最终类,最终类不能被继承

final还可以修饰方法,被final修饰的方法不能重写

final修饰的变量值不能改

16 常量

一个成员变量被public static final修饰的,那么它被称为常量

17 接口

接口中所有的方法都是抽象的,接口是抽象方法和常量的集合,接口中的抽象方法必须也都是公共的,可以省略 public
使用 interface 关键字来定义一个接口
使用 implements 关键字来使得某个类实现一个接口注意:实现某个接口,就必须要重写接口中所有的抽象方

注意:我们可以使用接口类型的引用指向接口实现类的
对象,然后该引用调接口中的方法,实际调用到的是实现类中重写过后的方法

18. try…catch…finally…代码块

try代码块:包含一组可能发生异常的代码

catch代码块:当try代码块发生异常时,转而进行的处理语句

throw 抛出某个异常

throws 告诉调用者可能抛出什么异常,写在方法声名的地方

注意:检查异常必须要被try/catch或者throw/throws,否则无法通过编译

catch(异常)中异常的顺序:子类异常要在父类异常之前
注意:当需要使用catch代码块捕获多个异常时,必须先捕获子类异常,后捕获父类异常

finally是接在catch代码块后面的第三个代码块,无论try代码块是否抛异常,都一定执行的代码

注意:在finally之前如果执行了 return 语句,那么finally代码块依旧会执行

19. String 不可变字符序列

String是存放在常量区的,比较两个String对象需要使用equals()方法

如果使用new String(字符串),其实是在内存中创建了2个对象,其中一个是另一个拷贝的副本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值