java 编程思想(五):隐藏实现过程

一、访问控制权限:

(1)public:访问接口;后面的成员声明适用于所用人,对象实例化之后,都可以访问;

class parent{

    public void teach(){

    }

}

(2)private:不能接触;除了本类 内部,其他对象是不能够直接访问的,继承也不行;

(3)protected:只有继承该类的对象才能访问;

(4)声明前面什么也也不加:只有在同一个包下面的类型才能访问;

注意:所有借口默认的声明都是public;

protected 友元函数

同一个包下:子类可以访问这个方法

在不同的包下:子类不能访问,本身类在new 之后也是不能访问的;

二、向上转型:

对于一个基类和一个派生类,类继承的画法是从上到下,再逐渐向下扩展,由于类转换的方向是从派生类指向基类,所以叫“向上转型”;

个人理解:作为一个基类和派生类,派生类包含基类的所有public,protected,想让派生类使用的东西,所以将派生类缩小(转换)成基类,使用基类的方法是完全可以,但是基类转换成派生类(向下转型)就存在很大的风险了;

public class Child extends  Parent{
    public static void main(String[] args) {
        Child child = new Child();
        //向上转型 调用父类的方法
        child.print();
    }
}
class Parent{
    public  void print(){
        System.out.println("print dialog");
    }
}

三、final:大概指的是这个东西不能够改变

final修饰:数据,方法,类

(1)、修饰数据:

a、编译器常数,永远不会改变,运行期间初始化的值,希望他永远不会被程序去改变;

final  int a  = 1;//类里面,表示a是不能否改变的常数

static final int  a = 1;//类里面,只会加载一次,由于没有被public  修饰,所以只能在同一个包下面的类使用;

public static final  a = 1;和上面一样,只是加了一个public,所有能被所有的类使用;

// 语法中,被static final修饰的常量名字都要大写

b、修饰一个引用变量:

对象的引用地址不能改变,意思就是我们不能给一个引用变量和重新赋予一个新的引用地址,但是引用变量的内部如果有8种基本数据类型的情况,内部是可以改变的,

(2)、final 修饰方法:表示这个方法不希望被子类重写,保护好原有的意思;被private 修饰的放在再编译期间会自动加上一个final;

(3)、final修饰类:表示这个类想被继承

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值