JAVA面向对象

一、类与对象的创建

1.使用new关键字创建对象

Person person = new Person("Jingjing");

类的创建:

对象创建:

二、构造器详解

一个类即使什么也不写,也会存在一个构造方法

即便前面的类是空的,仍然可以使用new方法创建一个对象

 1.无参构造器和有参构造器

2.快捷方法

alt + insert :生成有参构造
alt +insert +seleteNone(弹出的中间):生成无参构造

三、封装

1.属性私有

2.getset

在main方法中直接调用输出

3.封装的意义:

1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.提高系统可维护性

4.快捷键

alt+insert:可生成getset方法

四、继承 --extends

Java中只有单继承,没有多继承,但支持多重继承

 1.分为两个类:子类和父类-----子类继承父类

子类继承了父类就会拥有父类的全部方法

2.父类的类型:

public 公开的
private 私有的--这种类型子类不能直接继承,但可以通过方法调用继承

default  默认
protected 保护继承

父类写了有参构造,子类的无参构造无法继承,只能去调用父类的无参

3.在java中,所有的类都直接或间接继承object类

查看类继承快捷键:F4

打不开的可以 点击标题栏中的Navigate-->Type Hierarchy4.yinca

4.隐藏代码--Student student1 = new Student1 :输出时会调用父类的无参构造

方法继承例子:

五、super详解

super注意点:
   1.super调用父类的构造方法,必须要在子类构造方法的第一行,否则报错
    2.super 必须只能出现在子类的方法或者构造方法中
    3.super和this不能同时调用构造方法

Vs this:
   代表的对象不同
      this:本身调用者这个对象
      super:代表父类对对象的应用
   前提:
      this:没有继承也可以使用
      super:只能在继承条件下才可以使用
   构造方法:
      this(); 本类的构造
      super(); 父类的构造

六、方法重写

重写:需要有继承关系,子类重写父类的方法
   1.方法名必须相同
   2.参数列表必须相同
   3.修饰符:范围可以扩大但不能缩小  public>protected>default>private
   4.抛出的异常:范围可以被缩小但不能扩大
重写:子类和父类的方法一致,方法体不同!

为什么要重写:
   1.父类的功能,子类不一定需要,或者不一定满足
   alt+insert :override

七、多态

/**多态注意事项
 * 1.多态是方法的多态,属性没有多态
 * 2.父类和子类,有类型转换异常 ClassCastException
 * 3.存在条件:继承关系,方法需要重写,父类引用指向子类对象
 
 不能进行多态的方法:
   1.static 方法:属于类,不属于实例
   2.final 常量
   3.private方法
因为他们无法进行重写

八、、instanceof和类型转换

1.instanceof ---要看他们的继承关系(存在true,不存在flase)

同级比较会报错

/**  System.out.println(X instanceof Y);是否可以进行编译
 * 要看他们之间有无父子关系,没有就会报错 */

2.类型转换

 

 转换小结:

1.父类引用指向子类的对象   Person person = student;
2.把子类转换为父类,向上转换
3.把父类转换为子类,向下转型,强制转换
4.方便方法的调用,减少重复代码

九、static关键字详解

1.private static int age; //静态变量
private double score;  //非静态变量
2.//非静态方法
public void run(){
   go();//非静态方法可以调用静态方法里面的内容}
//静态方法
public static void go()
{}
----静态方法可以直接调用,也可以类调用
go();
Student.go();
//run();//不能调用普通方法

 

3.如果类被final定义了,就不能被继承了

4.代码块与构造方法

 5.静态导入包

十、抽象类---类是单继承的

抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

抽象类可以有构造方法,只是不能直接创建抽象类的实例对象,在继承了抽象类的子类中通过super()或super(参数列表)调用抽象类中的构造方法。

十一、接口的定义与实现

interface--接口

接口作用:
   1.约束
   2.定义一些方法,让不同的人实现
   3.抽象类 public abstract
   4.常量 public static final
   5.接口不能被实例化(new),接口中没有构造方法
   6.implements可以实现多个接口

 十二、内部类

一个类中只有有一个public class,但是可以有无数个class。

  • 13
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值