- 浏览: 1076949 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- C++ (39)
- Java (74)
- Java界面开发学习笔记 (4)
- Java用户的c++之旅 (0)
- 自言自语 (12)
- DSP (1)
- MCU (0)
- CG (0)
- Jabber (0)
- Gloox (0)
- Linux (11)
- Windows (19)
- Networks (4)
- Jobs (0)
- PHP (1)
- JSP (2)
- 生活 (35)
- C (2)
- Qt4 (2)
- C# (50)
- WPF (5)
- ASP (2)
- FLEX (47)
- SQL (20)
- JavaScript (12)
- SharePoint (6)
- GWT (1)
- Dojo (9)
- HTML (11)
- Others (7)
- 如何安装配置系列 (7)
- UML (2)
- Android (3)
- alibaba (1)
最新评论
-
zxjlwt:
学习了http://surenpi.com
Firefox插件开发: Hello World! -
ylldzz:
楼主知道MVEL怎么调试么
MVEL简介及快速使用 -
blueman2012:
您好,可否提供源码下载,我把您的代码贴过来后,好多报错的,谢谢 ...
Log4J日志解析 -
svygh123:
你的游标都没有关闭呢!
MYSQL游标嵌套循环示例 -
dizh:
写的很好啊
MVEL简介及快速使用
new关键字有三种用法,也有归为两种:
(1)new 运算符 用于创建对象和调用构造函数。
(2)new 修饰符 用于隐藏基类成员的继承成员。
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。
在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。在不使用 new 修饰符的情况下隐藏成员是允许的,但会生成警告。使用 new 显式隐藏成员会取消此警告,并记录代之以派生版本这一事实。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new 修饰符修饰该成员。例如:
Another Example:
输出:
100
55
22
invoke in MyBaseC
invoke in MyBaseC
invoke in MyDerivedC
一道笔试题:
请问o.MethodA()调用的是:
A.BaseClass.MethodA
B.Class2.MethodA
C.Class1.MethodA
D.都不是
答:A
(1)new 运算符 用于创建对象和调用构造函数。
(2)new 修饰符 用于隐藏基类成员的继承成员。
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。
在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成员的派生版本将替换基类版本。在不使用 new 修饰符的情况下隐藏成员是允许的,但会生成警告。使用 new 显式隐藏成员会取消此警告,并记录代之以派生版本这一事实。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new 修饰符修饰该成员。例如:
public class BaseC { public int x; public void Invoke() {} } public class DerivedC : BaseC { new public void Invoke() {} }
Another Example:
using System; public class MyBaseC { public static int x = 55; public static int y = 22; public virtual void invoke() { Console.WriteLine("invoke in MyBaseC"); } } public class MyDerivedC : MyBaseC { new public static int x = 100; /*new*/ public /*override*/ void invoke() { Console.WriteLine("invoke in MyDerivedC"); } public static void Main() { Console.WriteLine(x); Console.WriteLine(MyBaseC.x); Console.WriteLine(y); MyBaseC o1 = new MyBaseC(); o1.invoke(); MyBaseC o2 = new MyDerivedC(); o2.invoke(); MyDerivedC o3 = new MyDerivedC(); o3.invoke(); Console.Read(); } }
输出:
100
55
22
invoke in MyBaseC
invoke in MyBaseC
invoke in MyDerivedC
一道笔试题:
abstract class BaseClass { public virtual void MethodA() { } public virtual void MethodB() { } } class Class1: BaseClass { public void MethodA(string arg) { } public override void MethodB() { } } class Class2: Class1 { new public void MethodB() { } } class MainClass { public static void Main(string[] args) { Class2 o = new Class2(); Console.WriteLine(o.MethodA()); } }
请问o.MethodA()调用的是:
A.BaseClass.MethodA
B.Class2.MethodA
C.Class1.MethodA
D.都不是
答:A
发表评论
-
策略模式
2010-10-08 16:34 1173一、概念 策略模式(Strategy):它定义了一系 ... -
C#获取返回错误码
2010-05-21 17:59 1810[DllImport("TestWin32Dl ... -
VS.NET 开发Windows服务的步骤
2010-05-20 14:25 1601在很多应用中需要做windows服务来在一些后台操作,比如监视 ... -
c# 允许服务与桌面交互
2010-05-20 14:20 2703我们写一个服务,有时候要让服务启动某个应用程序,就要修 ... -
C#单例模式的三种写法
2010-05-19 15:58 48574第一种最简单,但没有考虑线程安全,在多线程时可能会出问题, ... -
C#中获取我的文档系统文件夹路径
2010-05-17 15:29 2272本技巧使用GetFolderPath方法来获取指向由指定枚 ... -
C#自定义事件的步骤介绍
2010-05-13 17:54 3295通常C#自定义事件有下面的几个步骤: ... -
使用反射机制遍历对象中的属性名及属性值
2010-05-03 16:20 2844首先描述一种情景,当给你一个VO类(这个类是映射到数据库的表 ... -
C#的逆向工程-IL指令集
2010-04-30 10:28 1677一些 IL 语言解释: ... -
使用SqlHelper时“阅读器关闭时read的尝试无效”的解决方法
2010-04-20 14:54 1817原SqlHelper类中ExecuteReader方法体 ... -
C# 删除文件夹
2009-12-31 11:28 2561/// <summary> ... -
System.Windows.Forms.Timer和System.Timers.Timer的区别 [转]
2009-12-16 23:44 5201.NET Framework里面提供了三种Timer: ... -
关于var1=var2=something赋值语句的思考
2009-11-18 16:16 1235刚才在阅读《c#本质论》一书时,开头有提到var1=var2= ... -
C#使textbox滚动到最新一行
2009-11-16 12:33 2541方法1: textBox.Text += " ... -
Invoke()/BeginInvoke()区别
2009-11-15 17:43 7226查看MSDN如下: Control..::.Inv ... -
Invoke 和 BeginInvoke 的真正涵义
2009-11-15 17:37 1328BeginInvoke 方法真的是新开一个线程进行异步调用 ... -
编写安全的多线程C#程序
2009-11-15 01:24 1904与多线程相关的两个常见的需要解决的问题是:临界资源保护和线 ... -
线程,同步与锁——Lock你到底锁住了谁
2009-11-15 01:18 1595线程在多核时代的优势月来越明显,多线程编程的学习也提上议事日程 ... -
关于lock(this)的说明及用法
2009-11-15 01:16 5350一. 为什么要lock,lock了 ... -
远程dll注入 C#
2009-11-14 16:43 3138using System; using System. ...
相关推荐
* 类的定义需要注意访问修饰符、abstract 和 final 修饰符,例如 public abstract class Car {...} 正确。 * 对象和类的关系需要注意,例如汽车和交通工具是类和对象的关系。 这些知识点涵盖了 Java 语言的基本...
- **this关键字与static修饰符**:详细解析了`this`关键字的用法,尤其是在处理方法中成员变量与参数重名情况时的作用,以及`static`修饰符在声明静态变量和方法时的特性,强调了它们在实现类内资源共享和方法调用时...
了解这些知识点能够帮助Java程序员更好地理解new操作符背后复杂的机制,并且对于性能优化、多线程安全等问题有更深刻的认识。通过双亲委派模型保证类加载的安全性,通过类的链接和初始化来确保类能够正确地执行,...
- **语法**:`修饰符 返回值类型 方法名(类型... 参数名) {}` - 示例:`public static void printArray(int... numbers) { for (int num : numbers) { System.out.print(num + " "); } }` - **应用场景**:当需要...
16. **私有访问修饰符**:如果希望某个变量只可以被类本身访问和调用,应该使用`private`访问控制修饰符。例如,`private int myVar;`这样的变量只能在定义它的类内部访问。 ### 字符串对象的认识 17. **字符串类型...
在Java中,我们通过类(Class)来实现封装,通过访问修饰符(如public, private, protected)来控制成员变量和方法的可见性,从而保护数据的安全性。 2. 继承:继承允许一个类(子类)从另一个类(父类)继承属性和...
其中,接口、抽象类、访问修饰符、构造器等也是这一章的重点。 第九章“异常处理new”讲述了Java的错误处理机制,包括try-catch-finally块,throw和throws关键字,以及自定义异常,帮助程序员编写健壮的代码。 第...
【类说明修饰符】class 类名【extends 子句】【implements 子句】 type instance-varable1; type instance-varable2; type instance-varable3; the methodname1(parameter-list){method-body;} the methodname2...
实验06的目标是让学生掌握Java中的类的编写,方法声明,以及理解构造方法和其他方法的区别。此外,实验还强调了可见...同时,他们也会对可见性(如private修饰符)和作用域有更深的认识,这些都是Java编程的基础概念。
- **解析**:在 Java 中,接口只能使用 `public` 修饰符,这样可以确保接口对外公开。 ### 9. 整型变量与整型对象 第十四题考察了整型变量与整型对象的区别。 - **正确选项**:`a 和 b 都是整数类型变量并且值...
6. **访问控制**:理解`public`, `protected`, `private`和默认(无修饰符)的访问级别。 通过《Head First Java》的前三个章节,读者可以建立起对Java编程的基本认识,掌握面向对象编程的核心概念,为后续深入学习...
- 封装:理解封装的重要性,如何通过访问修饰符来保护数据。 4. **数组** - 一维数组:创建和操作一维数组,掌握数组的遍历。 - 多维数组:理解二维数组和其他多维数组的使用。 5. **集合框架** - List接口:...
- Java 中的权限修饰符(public、protected、default 和 private)及其区别。 - **4.7.1 同包不同类间的访问权限** - 同一包内不同类之间访问权限的规则。 - **4.7.2 同类间的访问权限** - 类内部成员间的访问...
在PHP中,我们可以使用访问修饰符(`public`、`private`、`protected`)来控制成员变量和方法的可见性。例如: ```php class BankAccount { private $balance; public function deposit($amount) { $this->...
- **修饰符位置**:明确访问修饰符、类型修饰符等的位置规则。 - **注释规范**:定义注释的风格和格式,包括单行注释和多行注释。 - **类的版式**:针对类定义给出特定的格式要求。 #### 四、命名规则 - **共性规则...
在PHP5中,可以使用访问修饰符(public, private, protected)来控制属性和方法的访问权限。例如: ```php class Person { private $name; // 私有属性,外部无法直接访问 public function getName() { // 公共...
- **构造器与访问修饰符**:掌握构造器的作用,理解public、private、protected等访问修饰符的区别。 - **接口与抽象类**:理解接口与抽象类在设计模式中的应用,知道它们的异同。 3. **集合框架**: - **List、...
在PHP中,通过访问修饰符实现封装。 6. **继承(Inheritance)**: 继承允许一个类(子类)从另一个类(父类)继承属性和方法,减少了代码重复,实现了代码复用。 7. **多态(Polymorphism)**: 多态是指同一个接口...
理解和解决这些错误代码是成为一名熟练的JAVA开发者的关键步骤,通过正确地使用类、接口、以及理解变量的作用域和访问修饰符,可以避免这些常见的错误。在编写代码时,时刻保持对语法规则的清晰认识,有助于编写出...