Java三大特点

封装

1.封装又叫隐藏实现,隐藏属性、方法和方法实现过程,一般是将成员属性私有化,并对外提供setget方法
2.权限修饰符:private(本类访问) < default(同包访问) < protected(不同包的子类访问) <public(不同类访问)
3.关联(聚合(set方法修改名称)、组合(构造方法传递名称))、依赖(方法参数、方法返回值)
4.练习题:
    1.Calendar日历类用法
    2.定义纸牌类,分别为A、2-10、J、Q、K,四种花色、大小王;定义一个游戏类,其中有一个扑克,共52张牌,随机洗牌;定义玩家类,每个玩家可以发到13张牌,创建4个玩家对象,打印他们手中的牌
    3.定义账户类
            属性:帐号、密码、余额
            功能:存钱、取钱
      定义用户类,属性:
            属性:姓名、年龄、账户
      实现用户账号密码登录,登录后可以看到用户信息,存钱取钱功能
    4.定义一个圆类,属性半径r,常量PI,计算面积;使用圆定义一个圆柱体,属性高h,计算体积
    5.猜拳游戏:有两个选手,然后由裁判进行判定并记录胜负,三局两胜;游戏流程:裁判入场,两名选手入场,开始出拳,判断输赢,胜利两局后,宣布结果并且游戏结束
    6.随机数
            Math.random();
            Random.nextInt();
            Sysotem.currentTime%10;
    7.某商店采用会员制管理,会员购买产品时,向收银员提供自己的会员卡和所购买的商品,收银员验证会员卡合法后,将商品记录到商品销售表中,并将总金额作为会员积分计入会员档案中

继承

1.可以继承父类非private修饰的成员属性和成员方法,不能继承父类的构造方法,但是能通过super()调用
2.面试题:调用顺序:父类静态代码块 → 子类静态代码块 → 父类代码块 → 父类构造方法 → 子类代码块 → 子类构造方法

super

1.区分变量
2.找变量(就近原则):局部变量→成员变量→父类变量
3.找方法:先子类后父类
4.调用构造方法super()

Object

1.常用方法:equals、HashCode、clone、toString、getClass、wait、notify会用就行

重写

1.在继承关系中,返回类型,方法名、参数列表必须完全一致,子类的权限必须大于父类
2.父类私有方法,final修饰的方法,构造方法不能被重写
3.重写发生在子父类中,重载发生在类中
4.实际中,抽象方法才需要重写

抽象类

1.大多数用来建模,最早提出的概念
2.抽象类不能被实例化,格式:abstract class 类名{}
3.抽象类比普通类多了抽象方法而已,而且抽象方法可有可无
4.子类重写父类全部抽象方法就可以被实例化,重写部分抽象方法还是抽象类不能被实例化

多态

1.条件:继承、重写,父类的引用指向子类的对象,多态可以出现在方法返回值、方法参数
2.只有方法有多态性
3.只能调用父类的成员属性和未被重写的方法,以及子类重写父类的方法
4.instanceof二元运算符,判断左边对象是不是右边类或者子类的实例
        常见用法:向下转型
            Pet pet = new Cat();
            Cat cat = null;
            if(pet instanceof Cat){//这个动物(猫转过来的)是不是猫(true)
                cat = (Cat)pet;
        }else{
                sysotem.out.println("不能向下转型");
        }
5.小练习:使用Java实现文字RPG游戏

接口

1.只能包含抽象方法(默认public abstract) 和 常量(默认public static final),不允许有普通方法和构造方法
2.实际开发中,一般只有接口回调才需要自定义接口
3.接口与抽象类写法基本一致,抽象类是根据类型分(is a),接口根据功能分(has a)
4.接口命名规则:I开头或者able结尾
5.观察者模式
6.接口、实现者、调用者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值