栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础学习之面向对象、继承、接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础学习之面向对象、继承、接口

类与对象

类声明的对象被称为对象变量,简称对象

局部变量无默认值,成员变量有默认值(boolean——false;byte,short,int,long——0;float,double——0.0;引用型变量——null)

类体由两个部分组成:变量的声明的方法的定义

构造方法

无返回类型不能用final修饰不能被继承不编写,则默认提供一个无参的,编写则不提供

声明对象后该对象为空对象,使用new运算符为其分配内存空间(先为成员变量分配,再执行构造方法中的语句),最终将引用赋值给该对象

new标识符只能和类的构造方法进行运输,得到的值是一个引用

一个类声明的两个对象如果具有相同的引用,两者就具有完全相同的变量(实体)

可变参数

这些参数类型必须相同必须是参数列表的最后一个

实例变量和类变量(static修饰)

实例变量属于对象(只能通过对象访问),类对象既属于对象也属于类(既能通过对象访问,也能通过类名直接访问)所有对象共享类变量

实例方法和类方法(static修饰)

只有当该类创建对象时,类的实例方法才会被分配入口地址,而且只分配一次实例方法既可以操作实例变量,也可以操作类变量,既可以调用类中的实例方法,也可以调用类方法(构造方法除外),实例方法只能通过对象调用;类方法不可以操作实例变量,也不可以调用实例方法,只能调用类方法

方法重载

名字相同参数个数或者类型不同不考虑返回类型

this关键字

不可以在类方法中使用(因为this表示的是某个对象,类方法可以直接通过类名调用,可能该时还没有任何对象产生)

import语句必须写在package语句和类的定义之间

访问权限(private,protected,public)

类只能有两种访问权限,public和缺省

可以修饰成员变量,不可以修饰局部变量;可以修饰方法(包括构造方法,构造方法的访问权限与类一致)

方法内部变量不能用public,static,private等修饰,只能用final修饰(或者直接不写)

public>protected>友好的>private

var局部变量

不可以用来声明成员变量,只能在方法体中使用来声明局部变量声明时必须显式的给出初值,不能为null 子类与继承

单继承关键字extends子类父类不在同一个包中,子类继承父类中的非private变量和方法,继承过来访问权限保持不变。子类父类不在同一个包中,子类只继承父类中的protected和public访问权限的方法。(这也体现出了protected和友好访问权限的区别)。当创建一个子类对象时,子类和父类中都被分配了内存空间,但只是将父类中被子类继承的那一部分成员变量分配给子类。子类继承的方法只能操作子类继承的成员变量或未继承的成员变量,不能操作子类新声明的变量。子类继承的方法所操作的成员变量一定是被子类继承或者隐藏的成员变量。(采用super关键字可以操作子类隐藏的成员变量)方法重写:

类型一致或者是其子类型方法的名字,参数个数及类型完全相同final方法不能被重写重写的方法中所操作的成员变量一定是子类新声明的成员变量不允许降低方法的访问权限,必须大于等于 当子类用构造方法创建一个对象时,子类的构造方法总是先调用父类的某个构造方法。super关键字

当super调用被隐藏的方法时,该方法中出现的成员变量是被子类隐藏的成员变量或者继承的成员变量由于子类不继承父类的构造方法,所以在子类中需要用super来调用父类的构造方法,如果没有明显的指出调用哪个构造方法,则默认调用无参的构造方法,而且该语句必须是子类构造方法中头一个语句,并且如果没有显示的写出,则默认有super(),若显式的写出了则不提供默认的super语句。 final关键字

final类不能被继承final不能修饰构造方法若父类中有被final修饰的方法,那么该方法只能被子类继承,不能被重写当修饰成员变量或局部变量时,则为常量,不允许发生变化,而且在声明时指定该值,不提供默认值 上转型对象

普通子类对象和上转型对象访问的变量和方法范围的区别

普通子类对象:继承的变量,新增的变量,继承或重写的方法,新增的方法上转型对象:隐藏的变量,继承的变量,继承或重写的方法 如果子类重写了父类的某个实例方法,当上转型对象调用这个实例方法时一定是调用了子类重写得实例方法**(静态方法除外,调用的是父类原有的静态方法)** abstract类和abstract方法

abstract方法只允许声明,不允许实现不允许用final修饰一个抽象方法或者抽象类,也不允许用static和private修饰一个抽象方法(抽象方法必须是非private的)abstract类中可以有抽象方法也可以有非抽象方法,也可以无抽象方法,且有抽象方法的一定是抽象类abstract类不能使用new标识符创建对象,可通过使其变成该抽象类的一个子类的上转型对象的方法,来调用子类重写的方法非abstract类继承abstract类,必须重写父类的abstract方法;abstract类继承abstract类,既可以重写父类中的abstract方法,也可以继承abstract方法抽象类封装了子类必须要有的行为准则,abstract类只关心操作,而不去关心操作的细节,具体细节由实现类去实现 接口与实现

所有方法都是public abstract的,所有变量都是public final statc的,而且可以省略接口中可以定义default方法,default不能省略非abstract类实现某个接口,那么这个类必须重写该接口的所有abstract方法abstract类实现某个接口,那么这个类既可以重写也可以拥有abstract方法类实现后,并不拥有static方法和private方法,default方法既可以重写也可以拥有,重写方法不可以省略public接口也可以被继承,子接口将继承父接口中的全部方法和常量接口回调

将实现某一个接口创建的对象的引用赋值给接口声明的接口变量该变量可以调用实现的接口方法,接口提供的default方法以及重写的default方法接口·无法调用类中其它的非接口方法,只能调用实现的方法 一个接口中只有一个abstract方法称为单接口,也叫函数接口接口可以抽象出重要的行为准则如果一个方法的参数是接口类型,就可以将任何实现该接口的类的实例的引用传递给该接口参数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号