抽象类那点事
来源:互联网 发布:电脑机器码修改软件 编辑:程序博客网 时间:2024/06/14 21:37
1、抽象类?如果好听的中文名字,到底什么是抽象类?
答:首先抽象类也是个类,多了抽象二字,继续简单粗暴起来,拥有抽象方法的类,我可以称作它为抽象类。。
public abstract class AbsFirst {public abstract void walk(); //只要你声明了抽象方法,那么你的这个类,就必须是抽象类类}
2、语法
答:在class前面加上关键字abstract,就ok啦,是不是很爽!
3、普通类与抽象类最主要的啥差别啊?
答:
a、抽象类有抽象方法,普通类没有(我这说答算废话不?不算吧,记得抽象类只是多了个抽象方法,其它的普通类一样,除了b,往下看)
b、抽象类不能生成实例对象,普通类必须可以嘛(不然……)
public abstract class AbsFirst {public AbsFirst() {super();}public abstract void walk(); //只要你声明了抽象方法,那么你的这个类,就必须是抽象类类}看看上面的例子?不禁要问:既然不能生成实例对象(不能new出来),那为啥还有构造方法昵?
答案:构造方法是给扩展类用的啦,就是给子类用的啦。。
4、抽象类有了?咱咋用啊?
答:继承(中文还可以叫扩展)。
public abstract class AbsFirst {public AbsFirst() {super();}public abstract void walk(); //只要你声明了抽象方法,那么你的这个类,就必须是抽象类类public class Test extends AbsFirst { //偷个懒,用个静态内部类,而且我还整个public,哈哈,例子仅为方便,我就没去再单写一个文件@Overridepublic void walk() {}}}
public abstract class AbsFirst {static int a;public static void fk() {}public AbsFirst() {super();}public abstract void walk(); //只要你声明了抽象方法,那么你的这个类,就必须是抽象类类public abstract class Test extends AbsFirst { //偷个懒,用个静态内部类,而且我还整个public,哈哈,例子仅为方便,我就没去再单写一个文件public abstract void jump(); //又有抽象方法@Overridepublic void walk() {}}}
7、屌丝屌丝,我确实比较屌丝,深入要慢,思路要清,抽象类的基本语法就搞到这里吧
答:补充个下面是抽象方法,即 方法返回值前面加个abstract关键字就是个抽象方法了,抽象方法声明即可,;分号代表该语句结束,必须的…………我废话好多…………
public abstract void walk();
8、日后我会再将知识扩充,争取人人看得懂,人人学得会……
9、补充一点哦,抽象类也可以不含有抽象方法哦
public abstract class ActionBarActivity extends Activity { final ActionBarHelper mActionBarHelper = ActionBarHelper.createInstance(this); /** * Returns the {@link ActionBarHelper} for this activity. */ protected ActionBarHelper getActionBarHelper() { return mActionBarHelper; } /**{@inheritDoc}*/ @Override public MenuInflater getMenuInflater() { return mActionBarHelper.getMenuInflater(super.getMenuInflater()); } /**{@inheritDoc}*/ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mActionBarHelper.onCreate(savedInstanceState); } /**{@inheritDoc}*/ @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mActionBarHelper.onPostCreate(savedInstanceState); } /** * Base action bar-aware implementation for * {@link Activity#onCreateOptionsMenu(android.view.Menu)}. * * Note: marking menu items as invisible/visible is not currently supported. */ @Override public boolean onCreateOptionsMenu(Menu menu) { boolean retValue = false; retValue |= mActionBarHelper.onCreateOptionsMenu(menu); retValue |= super.onCreateOptionsMenu(menu); return retValue; } /**{@inheritDoc}*/ @Override protected void onTitleChanged(CharSequence title, int color) { mActionBarHelper.onTitleChanged(title, color); super.onTitleChanged(title, color); }}这是google官方的一个ActionBar的例子,里面完全木有抽象方法哦
0 0
- 抽象类那点事
- 关于MediaFile类的那点事
- 普通类初始化那点事
- 关于父类继承那点事
- 面试那点事
- 公司那点事
- 编程那点事!!
- 公务员那点事
- 毕业那点事
- JVM 那点事
- C++那点事
- 【粗心】那点事
- 【春运】那点事
- 内存那点事
- 程序员那点事
- Ext那点事
- Ext那点事
- 学习那点事
- 实验6-6 使用函数验证哥德巴赫猜想 (20分)
- 【转】oracle模糊查询效率提高
- 面向对象--instanceof,equals方法
- bootstrap中按钮
- 高性能之《图片浏览器和引导页》的窥视
- 抽象类那点事
- Linux中的黑洞(black hole)-/dev/null
- 学习网站收录
- hdu 1402 FFT(模板)
- Raspberry pi 2 安装GTK
- Day4_MFCsystem 图形化显示cmd
- os x下 apk逆向工程利器 AndroidCrackTool for Mac 最新版
- bzoj 1192
- Python图形界面开发初步 1