Java面向对象

1.构造

(1)构造方法与类名一致,子类继承父类的构造方法

(2)作用:初始化

(3)方法名一致,修饰符号可以不一致,参数可以不同

(4)子类继承父类,子类必须先执行父类的初始化动作,子类构造默认有一个super()

(5)对象初始化里默认有一个无参构造器

多组合,少继承,继承的缺点:类和类之间多了,可读性差

组合的使用方法:
 

public class Phone{
    private String color;
    public Phone(String color)
    {
        this.color = color;
    }


}


public class Student{

    private Phone phone;    //这就是组合
    private String name;
}

2.抽象类:

包含抽象方法的类叫抽象类

public abstract class Abstr
{
    public abstract void run();
}

public class Dog
{
    public void run()
    {
        
    }
}

public class Cat
{
    public void run()
    {
        
    }
}

cat和dog都要使用run这个方法,不如直接继承抽象类,使用它的抽象方法

抽象类有啥,继承抽象类的类也需要有。

由于Java是面向接口式编程,因此很少使用抽象类。

有抽象方法的类一定是抽象类,抽象类也有构造方法。

3.static关键字

(1)静态代码块: static {}

(2)静态方法

(3)静态字段

static主要作用:创建独立与具体对象的域或者方法

静态变量格式:修饰符 static 数据类型 变量名

静态方法格式:修饰符 static 方法返回值 方法名(参数)

静态代码块格式:static {数据只会被执行一次}

静态变量和实例对象的区别:

实例对象是需要创建对象的,创建几次对象,就要几次创建实例变量

静态是属于类的,只在内存中生成一次,公共属性。

静态方法不属于任何对象,不能使用.this

static关键字应用场景:

被所有对象共享,成员变量就是静态变量。

static访问方法:

public class Statics{
    public static double pai = 3.1415926;
}

public static void main()
{
    double f = Statics.pai;
}

使用方法:类名.属性名,类名.方法名

静态方法没有this关键字,随类加载,静态比对象优先存在。

4.多态:

多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。

可以把不同的子类对象都当作父类来看,进而屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,统一调用标准。

比如,你的女盆友让你买点水果回来,不管买回来的是苹果还是西瓜,只要是水果就行,这个就是生活中多态的体现

再比如,小猫、小狗、小猪我们可以把他们都归纳成小动物,每种小动物都需要吃东西,所以我们可以统一设置他们都必须吃,但是每种小动物的习性不一样,那这个就可以设置成小动物自己特有的功能,多态对象只能调用父类中定义子类中重写的功能,并不能调用子类的特有功能,这样就实现了代码的统一

5.重载:方法名相同参数个数不同,就是重载,方法的重载关键在于参数个数的不同

6.接口:

public interface PhoneInterface{
    //定义共同行为
    public String charge();
    public String transfer();
}


//实现接口,必须有接口的所有方法
public class phone implements PhoneInterface{
    @override
    public String charge()
    {}

    @override
    public String transfer()
    {}
}

抽象类和接口的区别:

子类只能继承一个抽象类,接口可以实现多个

一个类实现一个接口,必须实现接口的所有方法,抽象类不用

抽象类可以有静态方法和静态代码块,接口大咩

接口不可以被实例化,抽象类有构造方法

接口优于抽象类,Java面向接口式编程。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值