Java对象

面向对象: 以类的方式组织代码,以对象的组织(封装)数据

类和对象

类是抽象的 需要实例化
类实例化后会返回一个自己的对象

构造方法

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

public class Man{
	public Man(){}
}

构造方法特点:

  1. 和类名相同
  2. 无返回值

作用:

  1. new 本质在调用构造方法
  2. 初始化对象值

注意:

  1. 定义有参构造后,如果想使用无参构造,需要显示的定义一个无参构造
    public Man(){
    }
	public Man(String name){
		this.name = name;
	}
  1. 即使什么都不写,也会默认存在一个空的无参构造

封装

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

设置私有属性

    private String name;
    private int id;

当对象创建后,无法直接调用和修改这些属性,需要通过提供的一些public的get和set方法来获取和修改私有属性

        student.setName("chen");
        String name = student.getName();
        System.out.println(name); //chen

继承

使用extends关键字
子类可以继承由protected和public修饰的方法和属性,无法继承由private修饰的私有方法和私有属性

super

public class Person {
    public Person() {
        System.out.println("Person无参执行了");
    }
}
public class Student extends Person{
    public Student() {
    // 隐藏代码 调用了父类的无参构造
//        super();// 调用父类的构造器 必须在子类构造器的第一行
        System.out.println("Student无参执行了");
    }
}
public class Application {
    public static void main(String[] args) {
        Student student = new Student();
    }
}

输出结构为:
Person无参执行了
Student无参执行了

由此可见,当我们new一个Student的时候,它会先调用隐藏代码super()来调用父类的无参构造,接着再执行Student的构造器

super注意点:

  1. super调用父类的构造方法,必须在构造方法的第一行
  2. super必须只能出现在子类的方法或构造方法中
  3. super和this不能同时调用构造方法

super和this的区别:

  1. 代表的事物不同,this表示本身调用的这个对象,super代表父类对象的引用
  2. this没有继承也可以使用,super只能在继承条件下使用
  3. this默认调用本类的构造,super调用父类的构造

重写

前提:需要有继承关系,子类重写父类的方法
特点:

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符 范围可以扩大但不能缩小 public>>protected>default>private
  4. 抛出的异常:范围可以被缩小但不能扩大 ClassNotFoundException–>Exception(大)
  5. 子类的方法和父类的方法必须一致,方法体不同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值