面向对象概念

原创 2016年08月30日 13:52:24

三大特点:封装,继承,多态。

类:手机
对象:小米手机,三星手机。
面向对象:买手机的过程。先描述手机大概性能,营业员拿出符合手机,客户不满意,重新拿出新的手机。
成员变量:类中定义,本类所有方法均可调用此变量。(会赋初值)
局部变量:类的方法中定义,在方法中临时保存数据,只能在当前方法中使用。
构造方法:初始化对象的方法,名称与类名相同且没有返回值,可初始化对象成员变量的值。
(Telphone phone=new Telphone())若没有指定无参的构造方法,系统会自动生成无参构造方法,若有,则不会自动生成。
构造方法重载:方法名相同,参数不同的多个方法,调用时根据不同参数选择。
static修饰变量,可直接用类名访问。
静态方法中,可直接调用同类中的静态成员,不能调用非静态方法。
普通方法可调用静态变量和非静态变量。
封装:将类的信息隐藏在类内部中,不许允外部程序直接访问,而是通过类提供的方法来访问。
好处:只能通过规定方法访问数据。隐藏类的实例细节,方便修改和实现。
实现步骤:修改属性可见性–private,创建getter和setter方法,在getter和setter方法则加入属性控制语句(对属性值合法性进行判断)
包:管理java文件,解决同名文件冲突
访问修饰符:private,默认(本类,同包),protected(本类,同包,子类),public
this关键字:代表当前对象。
内部类:实现更好的封装,不允许同一个包中其他类访问该类。内部类的方法可直接访问外部类的所有数据(包括私有变量)。内部类所实现的功能外部类同样可以实现。
静态内部类:不能直接访问外部类的非静态成员。内部类 对象名=new 内部类()
成员内部类:外部类无法直接使用内部类的成员方法(要通过对象),访问外部类与内部类有相同的成员:outer.this.name;
方法内部类:只在该方法内可使用,不能使用访问控制符和static修饰符,不能在外部类的方法以外的地方使用。
继承:java中是单继承。子类拥有所有父类属性和方法(private修饰除外)
方法重写override:子类继承父类方法后,重写父类方法。返回值类型,方法名,参数类型及个数都要与父类集成的方法一致。
继承初始化顺序:父类对象–属性初始化–构造方法。子类对象–属性初始化–构造方法
final 修饰类:不允许被继承。
修饰方法:不允许被重写(覆盖)
修饰属性:不会进行隐式初始化或在构造方法中赋值
修饰变量:只能赋一次值,变为常量
super关键字:在对象内部使用,可代表父类对象super.age
子类的构造过程中必须调用父类的构造方法(隐式使用了super关键字)
多态:引用多态
父类的引用可指向本类的对象 Animal obj1=new Animal()
父类的引用可指向子类的对象 Animal obj2=new Dog()
方法多态
创建本类对象时,调用的方法为本类对象
创建子类对象时,调用的方法为子类重写的方法/继承的方法
引用类型转换:向上—自动/隐式转换(无风险);向下—强制类型转换(有风险)
instanceof运算符
抽象类:应用场景:父类知道子类包含怎样的方法,无法准确知道子类如何实现这些方法
从多个具有相同特征的类中抽象出一个抽象类,以抽象类作为子类的一个模版。
作用:限制规定子类必须实现某些方法,但不再关注细节
使用规则:abstract定义类
abstract定义抽象方法,只有声明,不需要实现。
包含抽象方法的类是抽象类
抽象类可包含普通方法,也可没有抽象方法
抽象类不能直接创建,可定义引用变量
interface接口(多继承)
是特殊的类,由全局常量和公共抽象方法所组成。类是某一具体实现体,而接口定义了某一批类要遵循的规范。
public abstract interface 接口名[extends 父接口1,父接口2…]{
零到多个常量定义public static final修饰符会自动加上
零到多个抽象方法定义public abstract修饰符会自动加上
}
[修饰符] class 类名 extends 父类 implements 接口1,接口2…{
若继承了抽象类,则要实现抽象类的方法
}
接口的引用 指向实现了接口的对象
如IplayGame ip1=new SmartPhone();
IplayGame ip2=new psp();
匿名内部类:没名字,多用于关注实现而不关注类的名称
new Interface(){
public void method(){
System.out.println(“匿名内部类实现接口的方式”);
}
}.method();

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C#面向对象_基础概念25个

  • 2014-04-03 09:02
  • 406KB
  • 下载

一些面向对象概念

面向对象的简单概念 封装(Encapsulation) 抽象(Abstraction) 继承/泛化 (Inheritance/Generalization) 多态(Polymorphism) 接口(I...

面向对象主要概念

  • 2007-07-05 15:07
  • 54KB
  • 下载

java面向对象上:类的高级概念

8、类的高级概念:          访问修饰符:三种访问修饰符4种情况        public: 所有的类都可以访问    &...

面向对象-重要概念

虚函数 虚函数是在基类中被声明为virtual,并在派生类中重新定义的成员函数,可实现成员函数的动态重载。在基类中可以实现虚函数。 纯虚函数 纯虚函数是一种特殊的虚函数,一般形式:virtual...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)