有如下代码:public class Fu { public int num = 1; public void show(){ System.out.println(this.num); } } public class Zi extends Fu{ public int num = 2; } pu ...
分类:
编程语言 时间:
2020-06-25 23:23:54
阅读次数:
69
一、开闭原则(Open Closed Principle,OCP):当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 二、里氏替换原则(Liskov Substitution Principle LSP):子类可以扩展父类的功能,但不能改变父 ...
分类:
其他好文 时间:
2020-06-25 19:20:57
阅读次数:
353
内部类 Java允许将一个类A声明在另一个类B中,则类A为内部类,类B为外部类 分类 成员内部类(静态或非静态) 作为外部类的成员,调用外部类的结构 可以被static修饰 可以被四种不同权限修饰 作为类 类内可以定义属性、方法、构造器等 可以被final修饰,表示此类不能被继承(不使用final可 ...
分类:
其他好文 时间:
2020-06-24 23:23:30
阅读次数:
62
在派生类中对基类成员访问应该是唯一的,但是在多继承时,可能会导致对基类某成员访问出现不一致的情况,这就是C++多继承中的二义性。 有两种继承的情况会产生多义性 一、 如果一个派生类从多个基类派生,而这些基类又有一个共同的基类,则在对该基类中声明的成员变量进行访问时,可能产生二义性,继承关系如下图所示 ...
分类:
编程语言 时间:
2020-06-22 10:48:18
阅读次数:
105
* 抽象类 * 1.使用关键字: abstract * 2.类中只要有一个方法声明为abstract抽象方法,那么这个类就必须声明为抽象类 * 3.抽象方法只允许有方法声明与参数列表,不允许有方法体; * 4.因为抽象方法的不确定性,所以抽象类禁止实例化,仅允许通过继承来实例化; * 5.继承抽象类 ...
分类:
Web程序 时间:
2020-06-20 01:06:17
阅读次数:
143
1.Java权限修饰符public、protected、 (缺省)、 private置于类的成员定义前,用来限定对象对该类成员的访问权限。 >>同一个包的其他类,不可以调用被调用类中私有(private)的属性和方法 >>不同包的子类中,不能父类中调用权限声明为private和缺省权限的属性和方法 ...
分类:
其他好文 时间:
2020-06-17 19:46:19
阅读次数:
79
static修饰符的作用:是静态的意思,区分类与对象,如果在字段和方法前添加了static,那么它就属于类,否则就属于对象 (被所有的对象共享,节省空间,当没必须每个对象都存储一份的时候,可以直接使用类名调用) static内存分析 深入变量(分为成员变量跟局部变量) 成员变量:类成员变量(静态变量 ...
分类:
编程语言 时间:
2020-06-14 20:36:45
阅读次数:
72
C++中函数指针的用途非常广泛,例如回调函数,接口类的设计等,但函数指针始终不太灵活,它只能指向全局或静态函数,对于类成员函数、lambda表达式或其他可调用对象就无能为力了,因此,C++11推出了std::function与std::bind这两件大杀器。 std::function vs 函数指 ...
分类:
其他好文 时间:
2020-06-14 20:33:58
阅读次数:
93
一、面向对象中,封装是指将抽象性函式接口的实现细节部分包装、隐藏起来的方法 1.封装可以被认为是一个屏障,防止该类的代码和数据被外部类定义的代码随机访问 2.要访问该类代码和数据需要接口控制 3.封装可以修改自己的实现代码,而不用修改调用我们代码的程序片段 4.精确控制成员变量 5.隐藏信息,实现细 ...
分类:
编程语言 时间:
2020-06-12 22:54:43
阅读次数:
105
#用构造器确保初始化 在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。 #方法重载 方法名,返回值都相同,参数列表不同的类称为重载。 ##区分重载方法 Java是如何区分方法名都相同的方法的?其实规则很简单:每一个重载的方法都必须有一个独一无二的参数列表。 ##涉及基本类型的重 ...
分类:
其他好文 时间:
2020-06-10 22:44:55
阅读次数:
91