首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>Java基础>正文

资料分享:Java开发中该注意的一些东西

http://www.oklinux.cn  2008-09-27  ccidnet 倒影  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

下面的内容是赛迪博客的博友所总结的一点东西。分享给大家!

java的类型自动提升规则

1、所有byte,short,char型的值将被提升到int型;

2、如果一个操作数为long型,计算结果就是long型;

3、如果一个操作数是float型,计算结果就是float型;

4、如果一个操作数是double型,计算结果就是double型。

我们不能把任何方法体内的变量声明为静态,例如下面这样是不行的

fun{
static int i = 0;
}

1、在静态的方法里只能直接调用同类中其他静态成员(包括变量和方法),而不能直接访问类中的非静态成员,这是因为,对于非静态成员,先要创建类的实例对象后才可使用,而静态成员在使用前是不需要实例化的;

2、静态方法不能以任何形式引用this或super关键字;

3、main()方法是静态的,因此jvm在执行main方法时,不创建main方法所在的类的实例对象,因此在main方法中,不能直接访问该类中的非静态成员。

1.final标记的类不能被继承;

2.其标记的方法不能被子类重写;

3.其标记的变量即变成常量,只能赋值一次,但这个常量也只能在这个类内部使用,不能在类的外部使用,且赋值只能在声明的时候显式赋值或在构造方法中赋值,构造方法里不含返回值的概念是不同于“void”的,对于"public void example()"这样的写法就不再是构造方法了,而变成了普通方法,很多人都会犯这种错,在定义构造方法时加了void,结果这个方法就不再自动调用了。

1.java只支持单继承,不允许单继承,但一个类可以被多个类继承;

2.可以有多重继承,即一个类可以继承某个类的的子类,如B继承了A,C又可以继承B,那么C也间接继承了A;

3.子类继承父类所有的成员变量和成员方法,但不继承父类的的构造方法,在子类的构造方法中,可以使用语句super调用父类的构造方法;

4.如果子类的构造方法中没有显式地调用父类构造方法,也没有使用this关键字调用重 载的其他构造方法,则在产生子类的实例对象时,系统默认调用父类无参数的构造方法,如果父类没有无参数的构造方法,则编译出错。

在子类中可以根据需要对从父类中继承来的方法进行改造——方法的覆盖(也叫重写)。覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型 子类想调用父类的被覆盖的方法,可以用super.方法()的格式。

注意:

覆盖方法时,不能使用比父类中被覆盖的方法更严格的访问权限,如:父类中的方法是public的,子类的方法就不能是private的,如果子类转换成父类,那么子类中新定义的方法不可用(编译不通过)。如果子类重写了父类的方法,那么子类方法可用。如果父类方法没有被重 写,则可用 。

Object类

Java中有一个比较特殊的类,就是Object类,它是所有类的父类,如果一个类没有使用Extends关键字明确标识继承另外一个类,那么这个类就 默认继承Object类。所以、Object类是所有类的父类, Object类的方法适用于所有类。

两种多态方式一般来说,多态主要是存在两种类型:编译时的多态和运行时的多态。

1、编译时的多态主要是通过函数重载来实现的。所谓函数重载是指保持函数名不变,主要通过更改函数形参的个数以及形参的类型来定义出多个同名函数来实现对多种类型数据的逻辑处理。这种类型的多态关系是编译器在编译阶段就已经在函数调用的地方确定的,因而运行过程中速度较快,但功能比较局限。

2、运行时的多态在不同的语言中拥有不同的实现方案。C 通过虚函数的晚捆绑来实现,而Java通过面向接口编程和面向抽象编程来实现动态调用相应的函数实现。但归根结点,这些语言都是通过将多种特殊实现的类抽象为一个泛化类来实现运行多态。

例如:

A是B的父类 A S=NEW B(); 如果父类有个方法叫Amethod(),子类也有一个,那么如果S.amethod的话,就会调用子 类的Amethod(),而不是父类的,父类有若干个子类的,而A S=NEW B(); A S=NEW C(); A

S=NEW D(); 等等就实现了多态!

抽象方法必须用abstract关键字修饰,任何带有抽象方法的类都必须声明为抽象类。

抽象类的定义规则:

1.抽象类必须用abstract关键字来定义,抽象方法也必须用abstract关键字来定义

2.抽象类不能被实例化,也就是说不能用关键字new去产生对象

3.抽象方法只需声明无需实现

4.含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则,这个子类还是抽象类。

注意:含有抽象方法的类一定是抽象类,抽象类中的某个方法不一定是抽象方法。

1、在接口中,成员只能是public类型。当没有public修饰时,依然是public访问范围

2、接口中的变量默认是用public static final 标识的,所以,接口中定义的变量都是全局静态变量

共2页: 上一页 1 [2] 下一页

上一篇:未来学习Linux法:使用人脑记忆功能   下一篇:网友分享:认识java JVM与c/c 的执行效率

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·网友分享:认识java JVM与c/c 的执行效率
·教你轻松提高Java代码的性能
·Java开发最容易犯的几种错误
·Java开发中static/this/super/final用法
·网友分享:关于提高自己Java水平十大技术
·Java程序员必须要了解的七个开源协议介绍
·网友经验分享:学好java开发的关键七步
·对于Java开发人员必须遵从的十大基本法则
·Java基础:Java/J2EE中文问题终极解决之道
·初学者学习java第一步——JDK环境变量配置
·代码简单描述 初学Java语言之多态初体验
·教你如何妙用EditPlus 配置Java编译环境
·一个优秀Java程序员必须了解的GC工作原理
·JAVA和.NET两个平台对于安全功能的比较
·Java课堂:初学者都必须理解的几个问题
·基础知识:Java Web三层架构的配置详解
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·网友分享:认识java JVM与c/c 的执行
·教你轻松提高Java代码的性能
·Java开发最容易犯的几种错误
·Java开发中static/this/super/final用
·网友分享:关于提高自己Java水平十大技
·Java程序员必须要了解的七个开源协议介
·网友经验分享:学好java开发的关键七步
·对于Java开发人员必须遵从的十大基本法
·Java基础:Java/J2EE中文问题终极解决
·初学者学习java第一步——JDK环境变量
·代码简单描述 初学Java语言之多态初体
·教你如何妙用EditPlus 配置Java编译环
  阅读排行
·使用AJAX技术实现网页无闪自动局部刷新
·高级:lucene全文检索应用示例及代码简
·关于java中相对路径,绝对路径问题总结
·一个非常有趣的使用spring框架AOP例子
·JAVA基础:一个struts hibernate入门实
·Java语言深入--java调用C/C 的过程
·一个基于Java Socket实现文件传输示例
·使用WEBWORK实现文件上传方法实例详解
·Hibernate配置文件中的映射元素详解
·初学者Structs中基本配置入门
·快速教您Apache Tomcat SSL的配置
·在struts里实现dtree通用树型结构讲解
·详细讲解Struts构架中action的跳转大全
·用JSP JavaScript打造二级级联下拉菜单
·基于AJAX的动态树型结构的设计与实现
网摘收藏: