override

王学岗csdn 移动架构————Android Binder机制

穿精又带淫゛_ 提交于 2020-02-04 02:29:51
看代码目录 服务端代码 // DNAIdl.aidl package com.dn_alan.service; // Declare any non-default types here with import statements import com.dn_alan.service.Person; interface DNAIdl { void addPerson(in Person person); List<Person> getPersonList(); } // DNAIdl.aidl package com.dn_alan.service; // Declare any non-default types here with import statements parcelable Person; package com.dn_alan.service; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; import java.util.ArrayList; import java.util.List; public class DNAidlService extends

sealed关键字用法

廉价感情. 提交于 2020-02-02 12:15:39
http://www.cnblogs.com/YangFengHui/archive/2011/04/18/2020095.html Sealed英文意思是密封的。顾名思义,该关键字修饰类时,密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时, sealed 修饰符必须始终与 override 一起使用。   也就是说要想用sealed修饰方法,则被修饰的方法必须是改写父类的方法。sealed 跟override一起使用。这个sealed关键字跟java中的Final关键字是一样的用法。使类不能再被继承,方法不能在重写。 因为接口,抽象类是只能被继承的,所以sealed关键字不能修饰抽象类,接口。 MSDN上还有解释说结构是被隐式密封,这就是结构不能被继承的原因。 View Code ? public class Person { string name; int age; public virtual void SayHello() { Console.WriteLine( "I am Person Class Object" ); } } public class Chinese:Person { public sealed override void SayHello() //sealed关键字与override一起用

springboot集成拦截器

六月ゝ 毕业季﹏ 提交于 2020-01-30 18:24:17
一.首先对HandlerInterceptor进行封装,封装为MappingInterceptor.封装的方法里添加拦截器起作用的路径addPathPatterns(),及需要排除路径的方法excludePathPatterns() public interface MappingInterceptor extends HandlerInterceptor { String[] addPathPatterns(); String[] excludePathPatterns(); int order(); } 二.写拦截器,拦截器实现封装好的MappingInterceptor,同时在拦截器上添加@Component,作用是将该拦截器注入到容器中以方便通过@Autowired实现实例注入. @Component public class CrossOriginInterceptor implements MappingInterceptor { private static final Logger logger= LoggerFactory.getLogger(CrossOriginInterceptor.class); @Override public String[] addPathPatterns() { return new String[]{"/**"}; }

QChart 表格 平移 + 缩放

穿精又带淫゛_ 提交于 2020-01-29 05:32:23
效果: .h # ifndef QTCHARTDEMOZOOM_H_38020FA5_FC74_4395_A807_61BF924D2F06 # define QTCHARTDEMOZOOM_H_38020FA5_FC74_4395_A807_61BF924D2F06 # include <QtCharts/QChartView> using namespace QtCharts ; class QtChartDemoZoom : public QChartView { Q_OBJECT public : QtChartDemoZoom ( QWidget * pParent = nullptr ) ; ~ QtChartDemoZoom ( ) ; protected : virtual void mouseMoveEvent ( QMouseEvent * pEvent ) override ; virtual void mousePressEvent ( QMouseEvent * pEvent ) override ; virtual void mouseReleaseEvent ( QMouseEvent * pEvent ) override ; virtual void wheelEvent ( QWheelEvent * pEvent ) override ;

四、链表功能完善(增加迭代器)

有些话、适合烂在心里 提交于 2020-01-29 03:13:18
要想使用迭代器或者foreach输出链表元素,那么就要实现Iterable接口 然后定义一个内部类实现Iterator接口 一共重写3个方法 这个链表就可以使用迭代器输出了 也就可以使用foreach了 class LinkImpl<T> implements ILink<T>,Iterable<T> { @Override public Iterator<T> iterator() { return new LinkImplIter(); } private class LinkImplIter implements Iterator{ int cursor = 0; //指针从0开始 @Override public boolean hasNext() { return cursor != size(); //此时还有内容 } @Override public Object next() { try { int i = cursor; T next = get(i); cursor = i + 1; return next; } catch (IndexOutOfBoundsException e) { e.printStackTrace(); } return next(); } } //==========以上实现foreach输出链表内容================

重写(Override)与重载(Overload)

萝らか妹 提交于 2020-01-28 17:00:05
重写(Override) 重写规则: 参数列表必须完全与被重写方法的相同。 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。 父类的成员方法只能被它的子类重写。 声明为 final 的方法不能被重写。 声明为 static 的方法不能被重写,但是能够被再次声明。 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。 构造方法不能被重写。 如果不能继承一个方法,则不能重写这个方法。 当需要在子类中调用父类的被重写方法时,要使用 super 关键字。 class Animal{ public void move(){ System.out.println("动物可以移动"); } } class Dog

C#其他修饰符

筅森魡賤 提交于 2020-01-26 04:37:46
其他修饰符 new 作用: 1.用作于实例新对象 2.用于继承中函数的隐藏 static 1.static可以修饰类、以及类成员(类中的全局成员) 2.static修饰类,则类中的成员也全部是static 3.静态类不允许实例化 4.静态类中的公开成员直接使用类名点进行访问 5.非静态类中的公开静态成员通过类名点访问,非静态成员通过实例化对象点访问 virtual 设置虚拟成员,放在正常类中,这个类可以直接实例对象进行使用,也可以在其派生类中对虚拟成员进行重写使用 abstract 抽象成员,必须放在抽象类中,抽象成员只有成员的声明不允许有成员的实现,抽象类不能实例成对象,抽象成员在其派生 类中实现之后方可被使用 override 派生类中的成员可以使用override,前提是基类中的相同命名成员必须是virtual或者abstract。 sealed 密封类,最终类,不允许被继承类、方法或属性,对于类代表密封,不允许继承该类,对于属性和方法,成员重写已继承的虚拟成员,但任何派生类中的任 何成员都不能重写该成员。该修饰符必须和override一起使用。 this 在一个类的成员内部,this关键字代表对象自身,也可以使用this关键字对类自身的成员进行访问 用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this。 MSDN中的小结功能主要包括: (1

单向链表

白昼怎懂夜的黑 提交于 2020-01-24 20:54:42
特点: 插入快删除快 相较于数组 不需要扩容 ,因为他在内存中不是连续的空间 查询和 public class MyLinkedList<E> implements MyList<E> { Node hand = null; class Node { Node next = null; E obj;//保存的数据 public Node(E obj) { this.obj = obj; } } @Override public int size() { int size = 0; Node var1 = hand; while (var1 != null) { size++; var1 = var1.next; } return size; } @Override public boolean add(E obj) { Node node = new Node(obj); if (hand == null) { hand = node; return true; } //从根节点开始,找到下个节点为空的对象 Node var1 = hand; while (var1.next != null) { var1 = var1.next; } //关联数据 var1.next = node; return true; } @Override public boolean remove(E

自定义MediaType的转换器

坚强是说给别人听的谎言 提交于 2020-01-24 19:03:52
由于是Rest风格,使用的是 RequestResponseBodyMethodProcessor ,我们模仿jackson的convert进行仿写 @PostMapping ( value = "/properties" , consumes = "text/properties;charset=utf-8" ) public Properties properties ( @RequestBody Properties properties ) { return properties ; } public class PropertiesConvert extends AbstractGenericHttpMessageConverter < Properties > { /** * 支持的处理类型 */ public PropertiesConvert ( ) { super ( new MediaType ( "text" , "properties" ) ) ; } /** * 返回值处理 */ @Override protected void writeInternal ( Properties properties , Type type , HttpOutputMessage outputMessage ) throws IOException ,

Sealed密封类

浪子不回头ぞ 提交于 2020-01-23 14:11:49
当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。 class A {} sealed class B : A {} 还可以在重写基类中的虚方法或虚属性的方法或属性上使用 sealed 修饰符。 这将使您能够允许类从您的类继承,并防止它们重写特定的虚方法或虚属性。 在下面的示例中, Z 从 Y 继承,但 Z 无法重写在 X 中声明并在 Y 中密封的虚函数 F 。 View Code 1 class X 2 { 3 protected virtual void F() { Console.WriteLine("X.F"); } 4 protected virtual void F2() { Console.WriteLine("X.F2"); } 5 } 6 class Y : X 7 { 8 sealed protected override void F() { Console.WriteLine("Y.F"); } 9 protected override void F2() { Console.WriteLine("X.F3"); }10 }11 class Z : Y12 {13 // Attempting to override F causes compiler error