`
jiagyao
  • 浏览: 99266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java开发中该注意的一些东西

阅读更多
java的类型自动提升规则 http://www.mscto.com

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

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

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

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

http://www.mscto.com


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

 


fun{
static int i = 0;
} http://www.mscto.com 



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调用父类的构造方法;

http://www.mscto.com


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

在子类中可以根据需要对从父类中继承来的方法进行改造——方法的覆盖(也叫重写)。覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型 子类想调用父类的被覆盖的方法,可以用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关键字来定义

http://www.mscto.com

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



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



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



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


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

2、接口中的变量默认是用public static final 标识的,所以,接口中定义的变量都是全局静态变量 http://www.mscto.com

3、我们可以定义一个新的接口,用extends关键字去继承一个已有的接口;也可以定义一个类,用implements去实现一个接口中的所有方法;还可以去定义一个抽象类用implements关键字去实现接口中的部分方法。

接口的定义特点:

1. 实现一个接口就是要实现接口的所有方法(抽象类除外)


2. 接口中的方法都是抽象的

3. 多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口

注意:

软件开发网

import语句必须先于所有类声明。在调用类时,使用类的全名,即包+类的形式,可以不用import引入。在同一包中的类可以互相引用,无需import语句。java.lang包是自动导入的。父包与子包之间,能从语意上表示某种血缘关系,如p1.p2.*和p1.p2.p3.*,但在使用上,即使父包调用子包中的类,也得使用子包的全名,也就是说我们import包中的类,却不能把子包的类也引入。

http://www.mscto.com

我们处理异常时,常用的三个方法是:

软件开发网
分享到:
评论

相关推荐

    Java编写中容易搞错的一些东西.rar

    以下是一些Java编程中的常见陷阱和理解误区,我们将会深入探讨这些知识点,帮助你避免在开发过程中走弯路。 1. **变量作用域**:Java中的变量有其特定的作用域,一旦变量在某个范围内定义,它的生命周期就限制在这...

    安卓开发中小细节的坑和java基础点的东西.docx

    在安卓开发中,遇到的各种小细节和Java基础知识是开发者日常工作中不可或缺的部分。下面是一些关键点的详细说明: 1. **选择控件的使用**:在处理单选或多选需求时,如果场景比较简单,可以使用`CheckBox`。然而,...

    MyEclipse 6 Java 开发中文教程2011

    亲爱的读者, 当您掌握了本书的内容后, 应立即掌握以Google来阅读文章提高自己能力的自学之路, 并加入到企业投入到真正企业项目的锻炼中去, 切勿再浪费万元学费去重复学习低端Java培训机构的雷同课程. 请记住, 只有您...

    SpringBoot开发非常美观的java博客系统(包含后台管理功能)

    三、idea以maven项目导入该项目后,发现没有maven的依赖包时,需要对每个maven module进行clear和install,并且注意maven的依赖顺序 SpringBoot开发非常美观的java博客系统(包含后台管理功能) SpringBoot开发非常...

    java 三级联动的东西

    在Java开发中,三级联动通常指的是在用户界面中,三个下拉列表框(dropdown lists)之间存在关联性,即选择其中一个下拉框的选项会动态更新其他下拉框的内容。这种功能在地域选择、分类导航等场景中非常常见。在给定...

    Java Web整合开发王者归来gh786395613.part6.rar

    经典的书籍,文档有目录结构,可以当字典查询,方便学习。...《Java Web整合开发王者归来gh786395613.part1.rar》 ~《Java Web整合开发王者归来gh786395613.part8.rar 》, 前7个都是50M,最后一个文件24.1M。

    Java编码规范 你不得不注意的东西

    Java编码规范是编程实践中至关重要的指导原则,旨在提高代码的可读性、可维护性和团队协作效率。良好的编码规范能够确保代码的一致性,降低理解新代码的难度,尤其是在多人合作的项目中,统一的编码风格能够让团队...

    学习Java应该注意的问题.pdf

    1. 开发背景:Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发的浪潮,显示了鹏程万里的美好前景。 2. Java及相关组件的学习顺序和方法: 2.1 Java的学习顺序:在美国,80%以上的大学都在教授Java...

    Java Web整合开发王者归来gh786395613.part5.rar

    经典的书籍,文档有目录结构,可以当字典查询,方便学习。...《Java Web整合开发王者归来gh786395613.part1.rar》 ~《Java Web整合开发王者归来gh786395613.part8.rar 》, 前7个都是50M,最后一个文件24.1M。

    java程序员应该有的东西.

    讨论中还提到了日期格式转换的问题,这是Java开发中常见的需求之一。 - **转换方法**:可以使用`SimpleDateFormat`类来进行日期与字符串之间的相互转换。 - **应用场景**:在日志记录、报表生成等场景中经常需要将...

    java使用jna连接华视CVR-100UC读卡器

    由于java提供jni有诸多不便,再加上我很菜,c这些东西全还给了老师了,所以还是选用jna调用,代码什么的都放在附件中了,jna的使用其实还是挺简单的,网上有很多相关的示例,但是就是需要注意一些dll文件路径,参数...

    学习java的朋友必学的东西

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发中占据主导地位。"学习java的朋友必学的东西"这个标题暗示了我们即将探讨的是Java编程的核心概念和重要特性,特别是IO流和多线程技术,这些都是Java开发者...

    fckeditor 在java中的配置及图片的上传

    在Java开发中,FCKeditor是一款非常流行的富文本编辑器,它允许用户在网页上创建、编辑复杂的HTML内容。FCKeditor与Java的整合主要涉及前端编辑器的配置以及后端处理图片上传的功能。以下是对这个主题的详细阐述: ...

    张孝祥Java就业培训教程.pdf

    在刚开始的第一章就详细地讲解了Java开发环境的搭建、反编译工具的使用、JDK文档资料的查阅,Java程序的编译、运行过程。在第二章中,全面地讲解Java的基本语法知识,对基本语法的讲解也不是泛泛而谈,而是在其中...

    java源码供大家参考

    标签“java”进一步确认了这个压缩包的内容专注于Java编程领域,可能涵盖了基础语法、面向对象设计、异常处理、集合框架、多线程、I/O流、网络编程、数据库连接等Java开发的各个方面。 压缩包内的文件名称列表如下...

    Java Web整合开发王者归来gh786395613.part7.rar

    经典的书籍,文档有目录结构,可以当字典查询,方便学习。...《Java Web整合开发王者归来gh786395613.part1.rar》 ~《Java Web整合开发王者归来gh786395613.part8.rar 》, 前7个都是50M,最后一个文件24.1M。

    Java Web整合开发王者归来gh786395613.part4.rar

    经典的书籍,文档有目录结构,可以当字典查询,方便学习。...《Java Web整合开发王者归来gh786395613.part1.rar》 ~《Java Web整合开发王者归来gh786395613.part8.rar 》, 前7个都是50M,最后一个文件24.1M。

    Java Web整合开发王者归来gh786395613.part8.rar

    经典的书籍,文档有目录结构,可以当字典查询,方便学习。...《Java Web整合开发王者归来gh786395613.part1.rar》 ~《Java Web整合开发王者归来gh786395613.part8.rar 》, 前7个都是50M,最后一个文件24.1M。

Global site tag (gtag.js) - Google Analytics