一、静态导入:

import static语句导入一个类中的某个静态方法或所有方法;

例子:

1.importstaticjava.lang.Math.max;

只是导入了Math类中的max方法,这是只能max方法可以省略Math;

//System.out.println(Math.max(3, 6));

System.out.println(max(3, 6));

System.out.println(Math.abs(3 - 6));

2.importstaticjava.lang.Math.*;

导入Math类中所有的静态方法;这是调用Math的静态方法都可以省略类名;

System.out.println(max(3, 6));

System.out.println(abs(3 - 6));

二、可变参数:

特点:

1.只能出现在参数列表的最后;

2....位于变量类型和变量名之间,前后有无空格都可以;

3.调用可变参数的方法时,编译器为该可变参数隐含创建数组,在方法体中以数组的形式访问可变参数;

例子:

public class VariableParameter {

public static void main(String[] args) {

System.out.println(add(2,3));

System.out.println(add(2,5,6));

}

public static int add(int x,int... args)

{

int sum = x;

//增强for循环

for(int arg : args) //迭代出每一个元素值;

{

sum += arg;

}

return sum;

}

}

三、增强for循环

1.语法:

for(type 变量名 : 集合变量名){}

2.注意事项:

迭代变量必须在()中定义;

集合变量可以是数组或实现了Iterable接口的集合类

例子:

public static int add(int x,int... args)

{

int sum = x;

//增强for循环

for(int arg : args) //迭代出每一个元素值;

{

sum += arg;

}

return sum;

}

四、基本数据的自动装箱拆箱

1.自动装箱:

Integer num = 12;

2.自动拆箱

System.out.pritnln(num + 12);

3.享元模式:

Integer a1 = 12;

Integer a2 = 12;

System.out.println(a1 == a2);//true

五、枚举:

1.枚举就是要让某个类型的变量的取值只能为若干个固定值的一个;

2.在枚举类中定义其他功能或构造方法,应该放在枚举元素列表之后。

3.枚举中元素就是这个枚举类的实例对象,如果调用相应的构造函数,

就在元素后加括号,传递相应的参数;

4.枚举中构造函数,必须私有;

例子:

public class EnumTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

WeekDay1 weekDay = WeekDay1.MON;

System.out.println(weekDay.nextDay());

WeekDay weekDay2 = WeekDay.FRI;

System.out.println(weekDay2);

System.out.println(weekDay2.name());

//打印顺序

System.out.println(weekDay2.ordinal());

//将前台传递过来的值,转换成枚举类

System.out.println(WeekDay.valueOf("SUN").toString());

/          /将枚举类中的元素,转换成数组;

System.out.println(WeekDay.values().length);

}

public enum WeekDay

{

SUN(0),MON(),TUE,WED,THI,FRI(5),SAT;

private WeekDay()

{

System.out.println("first");

}

private WeekDay(int Day)

{

System.out.println("second");

}

}

}

六、反射:

反射的基石:Class类;

反射就是把java类中的各种成分映射成相应的java类:

一》得到各个字节码对应的实例对象(Class类型)三种方法

1.类名.class;如:System.class;

2.对象.getClass();如:new Date().getClass();前提必须由对象名;

3.Class.forName(“类名”);如;Class.forName(“java.util.Date”);

1.构造函数的反射:

得到某个类的所有构造函数:

Constructor[]constructors = Class.forName(“java.lang.String”).getConstructors();

2.成员变量的反射:

ReflectPoint pt1 = new ReflectPoint(3,5);

Field fieldY = pt1.getClass().getField("y");

System.out.println(fieldY);

System.out.println(fieldY.get(pt1));

3.成员方法的反射:

一》反射成员方法格式:

Method method = String.Class.getMethod(“charAt”,parameterType);

Method类  反射名=字节码.getMethod(“方法名”,参数列表);

注意:参数类型用class对象表示;

七、注解:

一》一个注解就是一个类,

二》作用就是传递信息给编译器或者开发工具,告诉它应该怎么做。

三》常用注解:

@Override:判断方法有没有覆盖;

@Deprecated让某个方法过时;

@SuppressWarnings("deprecation"):某个方法过时,但还继续想用。

一》保留在那个生命周期

@Retention(RetentionPolicy.SOURCE)在源文件阶段,call阶段没有,运行没有

@Retention(RetentionPolicy.class):在class阶段,运行时没有;(默认阶段)

@Retention(RetentionPolicy.RUNTIME):保留注解类在运行阶段,

二》作用在那个成分上

//说明这个注解类只能作用在方法上;

@Target(ElementType.METHOD)

//既能作用在方法上和也能作用类上,用的是数组形式

@Target({ElementType.METHOD,ElementType.TYPE})

作用在字段上

@Target(ElementType.FIELD)

作用在形式参数上

@Target(ElementType.PARAMETER)

一》注解类很想接口

public@interfaceItcastAnnotation{

//定义注解类属性

}

二》注解属性很像方法

//注解类

public@interfaceItcastAnnotation{

//定义注解类属性,跟接口一样,前面省略public abstract

Stringcolor();

Stringvalue();

}

说明这个注解类有一个color属性和Value属性;

三》应用带属性的注解类,必须设置属性(以属性的方式设置);

//应用注解的类

@ItcastAnnotation(color="red",value="abc")

四》给注解类的属性设置默认值

public@interfaceItcastAnnotation{

//定义注解类属性,跟接口一样,前面省略public abstract

String color()default"blue";

String value();

}

就是说color已经有默认值,可以重新设置,也可以不设置,就相当于该注解类只有一个属性需要设置就是value,所以设置value时,可以省略value名和“=”;

@ItcastAnnotation("abc")

五》如果注解类中只有一个属性需要设置值,可以省略属性名和“=”

@SuppressWarnings("deprecation")

六》在应用注解类的类中获取注解类对象

ItcastAnnotationannotation =

(ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);

七》调用注解类属性时,是以方法的形式调用;

//如果应用了某个注解类,就得到这个注解类对象

//获取注解类对象

ItcastAnnotationannotation =

(ItcastAnnotation)AnnotationTest.class.getAnnotation(ItcastAnnotation.class);

System.out.println(annotation.color());

1.int【】数组

//int[]数组

int[] arr();

在应用类中设置int数组属性

@ItcastAnnotation(arr={1,2,3})

2.枚举属性

TrafficLamp lamp()defaultTrafficLamp.GREEN;

在应用类中设置属性

@ItcastAnnotation(clamp=TrafficLamp.RED)

3.注解属性并缺省值

MetaAnnotationmetaAnnotation()default@MetaAnnotation(value="annotationA");

在应用类中设置属性

@ItcastAnnotation( metaAnnotation=@MetaAnnotation(value="annotationB"))

java项目高新_java高新技术相关推荐

  1. java项目 导出_Java项目的导入和导出

    ---------siwuxie095 在很多情况下,需要将当前的 Java工程传递给其他人继续工作, 或 协同工作,或者是从其他人那里接收到传递来的Java项目, 就需要掌握 Java项目的导入和导 ...

  2. java项目定时任务_java项目定时任务实现

    首先配置spring-context.xml文件 在xmlns 下加如下代码 xmlns:task="http://www.springframework.org/schema/task&q ...

  3. java项目流程_Java项目开发全流程实践

    文章导读 [项目遵循需求分析.程序设计.编码.测试.运行标准开发过程, 从分析项目问题入手,提出解决方案,应用对象建模工具UML设计系统,依据设计文档进行编码.] 问题描述:实现一个简单的四则运算器. ...

  4. 获取java项目路径_Java获取项目路径

    Java获取项目路径 1. 利用System获取System.getProperty("user.dir"); //输出: E:\IDEA\canye365-crawler-dem ...

  5. java项目部署_Java Web 项目的部署步骤

    关于java web项目的部署有很多种,我就把最近使用的一种跟大家分享下: 项目部署的前期准备: 1.XXX.war file 2.Tomcat server 当以上两项都准备好后,我们就可以开始项目 ...

  6. java项目大小_Java项目仅在调整窗口大小之后出现

    小编典典 您需要 在 调用setVisible(true)JFrame 之后 向GUI添加组件,这是向后的,因为在添加任何东西之前渲染GUI都是有意义的,因此以后添加的所有东西都需要重新粉刷才显示. ...

  7. java项目教学_java项目_java项目教程_java项目视频教程 _课课家

    适合人群 1. 零基础,对WEB前端开发感兴趣的朋友 2. WEB全栈开发人员.拓展知识面和能力的朋友 3. 高校计算机相关专业的大学生 课程目标 本系列课程是专门为零基础学习Web前端开发的朋友准备 ...

  8. Java项目问题_Java项目出现的问题01----学习

    0 运行环境 MyEcplise2016+Tomcat8.0 1 今天在html的表格提交跳转时发现,想要提交到自己写servlet程序中,却发现总是出错http://localhost:8080/T ...

  9. java项目分页_Java项目实战分页类

    package com.utils; import java.util.List; /**  * 分页实体类,保存当前分页状态变量  *  * @author  */ public class Pag ...

  10. java 项目拆分_java – 多模块项目什么时候应该拆分成单独的存储库树?

    目前我们有一个标准的subversion存储库布局项目: ./树干 ./branches ./tags 然而,当我们沿着OSGi和模块化项目的道路前进时,我们最终得到了: ./trunk/bundle ...

最新文章

  1. python线程只能启动一次_python多线程只能运行一个线程的问题
  2. 【软件工程】用例间的关系
  3. 帝国cms 6.6 采集入库多记录时出现空白 解决办法
  4. 卷积神经网络处理猫和狗图片(改进网络)
  5. .NET Core SDK在Windows系统安装后出现Failed to load the hostfxr.dll等问题的解决方法
  6. 吴恩达神经网络和深度学习-学习笔记-34-LeNet-5 + Alexnet + VGG
  7. Solidworks如何绘制标准螺纹线
  8. weblogic12C安装
  9. 嵌入式Ubuntu 搭建caffee环境
  10. mmap之内存映射文件与常规文件操作比较
  11. 计算机网课课堂评价语,网络授课如何“高效”评价学生作业(附实用评语)
  12. linux mint 下如何制作win7启动盘
  13. 独自研发3年,双平台上线,我是如何从零开始做这款独立游戏的?
  14. Revit二次开发—内建类别BuiltInCategory枚举(中英文对照)
  15. 做网站怎样抓住搜索引擎规则
  16. opencv打开摄像头失败的一种可能cv2.error: Unknown C++ exception from OpenCV code
  17. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一2.9 疏密相间构图法
  18. 金属有机骨架材料Fe3O4@ZIF-67|Fe3O4@ZIF-8;甲硫基官能化MIL-101(Cr)负载银纳米粒子
  19. 16~235和0~255
  20. 面向新手的git实战教程

热门文章

  1. GridView控件属性及应用(转载)
  2. DRF基类APIView的子类GenericAPIView
  3. 【现代软件工程】6月中旬团队项目心得
  4. net MongoDB安装
  5. iOS UiCollectionViewtroller 间距清0
  6. 判断触摸的点在那个 View上
  7. R 保存包含中文的 eps 图片--showtext
  8. 【转】Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读
  9. 解决:未能找到 CodeDom 提供程序类型 Microsoft.VJSharp.VJSharpCodeProvider
  10. 我所期待的易语言2007