Java简介

一、构造方法
每个类都够构造方法,他是一个特殊的方法,是用来创建实例,初始化对象的方法。构造方法:名称与类同名()无返回值,void是无返回值类型
eg:public String print(){
}
public int print(){
}
public HelloWorld print(){
}
public HelloWorld(){
}、、这是构造方法
public HelloWorld( int a){
}、、这是构造方法

public HelloWorld(int a,String b){
}、、这是构造方法
方法重载:同一个类,方法名相同,方法参数的个数,或者类型不同,我们称为该方法被重载了,普通方法和构造方法都可以被重载;

static修饰符:,修饰属性,方法,代码块,(内部类可以用static修饰)。static修饰的属性或方法属于类所有,所有对象的属性和方法。特殊,静态代码块。
eg:public static void main(String [ ] args){} 静态方法
public static name=“小明”;静态属性
static{
String name=“a”;
}
方法里不可以使用static
在加载类的过程中,最先完成 静态变量的内存分配,然后是静态代码块的内存分配,然后是创建对象比如this对象;

this关键字,代表当前对象,表示类还没有被实例化之前的引用,当类被实例化之后,实例对象就指向这个this

继承(inheritance)、
继承(inheritance)通过extend 关键字来实现,其中SubClass称为子类 SuperClass称为父类,基类或超类。访问修饰符是public 整个项目可见,无访问修饰符该包可见,不可以用private和protected修饰父类。java中所有的类都默认继承Object类
super关键字,用来调用父类的构造方法,方法,属性。this关键字,用来调用自身的属性,方法,构造方法。

子类继承了父类的哪些财产呢?
继承public protected修饰的属性和方法,无论是否在一个包中
同包中,继承默认属性和方法(friendly)
private修饰的属性和方法不能继承,无法继承父类的构造方法

方法的重写(overriding)和重载(overloading)
重写方法必须与被重新的方法具有相同的方法名,相同的参数列表,返回值类型相同或者是其子类。不能缩小被重写的方法的访问权限。
重载,必须在同一个类中方法名相同参数列表(个数或类型)不同,与返回值和访问修饰符无关。

继承关系中的构造方法
继承关系总的构造方法调用规则如下。
当子类没有通过super或this显示的调用父类和自身的构造方法,则默认调用父类的无参构造方法。如果使用super调用父类的其他构造方法,则不执行父类无参构造方法。
在构造方法中如果有this或super语句,只能是第一条语句。
在一个构造方法中不允许同时出现this 和super,调用构造方法。
在类方法中不允许出现,this或super关键字。
在实例方法中this和super不要求是第一条,可以共存。
抽象类和抽象方法。
使用abstract修饰的类或方法称为抽象类或抽象方法。
被abstract修饰的类无法实例化,抽象类 它可以没有,有一个,或者多个抽象方法。
被abstract修饰的方法,抽象方法只有声明没有实现,有抽象方法的类必须声明为抽象类,子类必须重写所有的抽象方法,否则子类还是一个抽象类。
public abstract void print();是抽象方法,没有大括号,即实现。

final修饰的类不能在被继承。
final 修饰的方法不能再被重写。
final修饰的属性,将称为常量。
final  String name="sss";只能赋值一次

abstract 只能修饰 类和方法,不能修饰 属性和构造方法。
final 可以修饰 类,属性,方法,不能修饰 构造方法。
final修饰的对象,即引用型变量,变量的值是不可变,而指向的对象的属性值是可以改变的。

多态(polymorphism)、
将一个父类的引用指向一个子类的对象,称为向上转型(upcasting),自动进行类型转换。
Animal animal=new Dog();
向下转型,
Animal animal =new Dog();此时无法调用子类的特有方法。需要向下转型
Dog dog=(Dog)animal
这时方可调用子类特有方法;
继承是多态的基础,没有继承就没有多态。
子类重写父类的方法(多态下调用子类重写后的方法)。
父类引用指向子类对象。

instanceof用于引用类型对比,对象在前类型在后if(dog instanceof Animal){},对象(dog)的类型和第二个参数(Animal)所指定的类必须要有继承关系,instanceof通常和强制类型转换结合使用。

interface(接口) 接口是特殊的类
他是一种约定
接口的命名规则与类相同。
接口中只有全局静态常量,接口的常量必须有初始值
public static final int MAX_MENU=1;
接口中的所有方法都是抽象方法,自动加上public abstract修饰
和抽象类一样,接口不能实例化,不能有构造方法。
接口的实现类必须实现接口的所有方法,否则必须定义为抽象类。
接口直接通过extends实现继承关系,一个接口可以继承多个接口,不能继承类。通过implements来实现接口
[访问修饰符] Interface 接口名 extends SuperInterface1,SuperInterface2,…,SuperInterfacen{}
class 类名 extends 父类名 implements 接口1,接口2,。。。,接口n{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值