Java_面向对象

提到面向对象的开发要先从面向过程的开发说起。

面向过程:

概念:按照一定的顺序实现的编程称为面向过程的编程。

特点:这种开发方式注重于过程。

缺点

1.效率低。程序只按照顺序自上而下执行,效率相对低,尤其是执行几百行的代码,不好。

2.不灵活。面向过程的开发通常都是在一个类中写一堆方法,一堆变量,这样显得很臃肿,不够灵活。

3.不安全

4.可维护性差

针对以上缺点,Java给我们提供了一个很好的开发方式——面向对象的开发。

面向对象:

定义:将相关的方法和属性写在一个类中,将来通过new关键字进行实例化对象调用。

面向对象的开发就是不断地创建对象、调用对象、指挥对象来为我们实现功能,我们就是在不断地管理和维护对象之间的关系。

优点

1.灵活。将各功能代码封装到了不同的类中,通过类来实现功能。

2.安全。封装在了

特征:封装、继承、多态。

封装:把不想对外公开的代码,用pravite关键字修饰,进行封装,然后对外提供公共的访问方式(如GET、SET方法等),达到封装的目的。一般只封装成员属性(成员方法)。

private String name;
private int age;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}

修饰词

public:公共的,在任何地方都可以访问;

protected:受保护的,在同包类或子类中可以访问;

default:默认的,在同包类中可以访问到;

pravite:私有的,只能在当前类中被访问到。

继承:主要提高代码的复用性,通过关键字extends实现继承。继承后子类具有了父类的属性和方法,子类还可以扩展自己独有的方法和属性,也可以通过重写实现父类方法的覆盖。一个父类可以有多个子类,一个子类只能继承一个直接父类。

public class Zi extends Fu{}
<!--Zi表继承Fu表-->

多态:所谓多态就是有多种形态,日常见到的有三种表现形式:重写、重载、向上造型。

重写:父子类中,方法名相同,参数列表相同,具体实现不同,且无关返回值类型。

重写的两大一小原则:

    1.子类访问权限>=父类访问权限

    2.子类返回类型<=父类返回类型

    3.子类抛出异常<=父类抛出异常

重载:同一类中,方法名相同,参数列表不同,具体实现不同,且与返回值无关。

重写与重载的区别:

1.场景不同,重写在父子类中,重载在同一类中;

2.参数列表,重写要求参数列表相同,重载要求参数列表不同;

3.返回,重写无关返回值类型,重载无关返回值。

向上造型:父类引用指向子类对象。严格的说父类不能引用子类对象,但可以引用子类重写后的方法。

格式:父类名 对象名 = new 子类名();

除以上三种表现形式外,多态还有一种表现形式——向下造型

向下造型:子类引用指向父类对象。实例化对象是必须进行强制类型转换。


----------------------------------------------------------------------------------------------------------


上面说了面向对象 ,那么现在说一下实例化的问题

在java中,类中的类中的方法和属性不可以直接被调用,需要实例化成对象才能被调用。

实例化:实例化也成为对象,是类的具体实现。通过new关键字来创建对象。创建对象开辟内存空间在堆中。创建对象的过程就是实例化的过程。

Scanner sc = new Scanner(System.in);
其中,Scanner就是一个类的类名
sc被称为对象名
等号后面就是创建对象的过程
Scanner(System.in)是Scanner类的一个构造

可以通过  对象名.对象; 的方式调用对象。

匿名对象:就是没有名字的对象,适用于只调用一次对象的场景(可以作为参数传递)。这种方式调用完毕后,java会将开辟在内存中的堆空间回收,很好用。


        System.out.print(this.name);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值