`

JAVA基础巩固加强 enhance day1

    博客分类:
  • Java
 
阅读更多

最近忙着找工作,可是总是到最后面试完了就没信儿了。哎,你说找个如意的工作就这么难吗?自己感觉实力还是不错的,也有实际的开发经验啊。好多公司打电话第一句话就问,你可不可马上上班,晕,我还没毕业呢?大学生活还没过完。我总觉得大学的最后生活是在幸福中度过的,可是到现在,出了每天跑吉大招聘会之外,基本没别的干的。可能也累了吧,在做完那个派出所的系统后,感觉自己很久没有动手写过代码了,所以为了练练手,同时也为找个"好“工作加些筹码。从今天开始就开始看张老师讲得java基础提高了。
    今天主要是听了JDK1.5的几个新特性,比如静态导入(import static ****)、增强for循环、自动装箱和拆箱-->中间又提到了享元模式。接着就是我以前很少接触的枚举了,在我学的时候根本就没把枚举当回事,因为我在开发的时候很少写自己的enum,大多是用JDK自己写好了的enum 。看了张老师的视频之后才认识到枚举真正的作用和用法,还巩固了一下inner class 。以及如何在定义带有一个抽象方法的枚举。
    下面是今天听课时候自己记的笔记:

1:eclipse 日常用法
2:import static 静态导入与常规导入 import
3:可变参数 overload 和 override 的区别(面试经常考,我就经常遇到)
4:overload重载
  override重写
5:增强for循环
  for(type 变量:集合变量名){.....}
6:自动装箱和拆箱
       装箱 把一个基本数据类型转换为一个引用类型 如 Integer i = 3
       拆箱
7:基本数据的缓存
8:享元模式 有很多相似的数据,他们有很多的共同点(内部属性),然后,把它变成一个对象,然后把不同的属性作为方法的参数传入(外部属性)
9:枚举:枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。
       枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
10:采用抽象方法定义nextDay就将大量的if.else语句转移成了一个个独立的类。
11:枚举的中定义的其他信息必须定义元素列表
12:枚举只有一个成员时,就可以作为一种单例的实现方式

13:class Class--->代表一类事物
   Class cls1 = 字节码1  如 Class cls = String.class;
   Person p1 = new Person();
   Class cls2 = Person.class; // 或者 p1.getClass();
   Class.forName("java.lang.String");//返回字节码  JVM中有\没有
   
   9个预定义class  八个基本类型 + void
   There are nine predefined Class objects to represent the eight primitive types and void.
      下面是今天重点学习的一些代码
      
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1 package com.anduo.day1;
 2 
 3 public class EnumTest {
 4 
 5     /**
 6      * @param args
 7      */
 8     public static void main(String[] args) {
 9         // int weekDay = 0;
10         // WeekDay day = WeekDay.Fri;
11         WeekDays day = WeekDays.SUN;
12         System.out.println(day.toString());
13         System.out.println(day.nextDay());
14 
15         WeekDay day2 = WeekDay.FRI;
16 
17         System.out.println(day2.name());
18 
19         WeekDay[] days = WeekDay.values();
20         for (WeekDay weekDay : days) {
21             System.out.println(weekDay);
22         }
23 
24         System.out.println("--------------------");
25 
26         System.out.println(TrafficLamp.RED.nextLamp().time);
27 
28     }
29 
30     /**
31      * 枚举的一个对象就相当与一个对象
32      * 
33      * @author anduo date:2011-11-7--下午03:01:58
34      */
35     public enum WeekDay {
36         /*
37          * SUN(1)调用的是带有参数的构造方法 SUN 调用的是无参构造方法
38          */
39         SUN(1), MON(2), TUE, WED, THI, FRI, SAT;
40         private WeekDay() {
41             System.out.println("first");
42         }
43 
44         private WeekDay(int day) {
45             System.out.println("second");
46         }
47     }
48 
49     /**
50      * 带有抽象方法的枚举
51      * 
52      * @author anduo
53      * 
54      * date:2011-11-7--下午05:38:22
55      */
56     public enum TrafficLamp {
57         RED(30) {
58             @Override
59             public TrafficLamp nextLamp() {
60                 return GREEN;
61             }
62         },
63         GREEN(35) {
64             @Override
65             public TrafficLamp nextLamp() {
66                 return YELLOW;
67             }
68         },
69         YELLOW(5) {
70             @Override
71             public TrafficLamp nextLamp() {
72                 return RED;
73             }
74         };
75         public abstract TrafficLamp nextLamp();
76 
77         private int time;
78 
79         private TrafficLamp(int time) {
80             this.time = time;
81         }
82     }
83 
84 }
85 

    张老师的课讲得确实好,不敢说自己的境界又提高了多少,但是我可以可定的是以前有写疑问的地方,现在明白了不少。比如:

 1 package com.anduo.day1;
 2 
 3 public class AutoBox {
 4 
 5     /**
 6      * @param args
 7      */
 8     public static void main(String[] args) {
 9         Integer iObj = 3;// 装箱 以前的用法是 new Integer(3)
10 
11         System.out.println(iObj + 13);
12 
13         Integer i1 = 12;
14         Integer i2 = 12;
15         //在-128~127之间的时候将他们缓存起来 当在定义一个对象的时候到缓存池里来查找 
16         //如果有就直接引用该对象
17         //而不在上边这个区间的时候就需要建立各自的对象
18         //设计模式是 享元模式
19         
20         System.out.println(i1 == i2);
21 
22         
23     }
24 
25 }
26

    这个问题以前有寝室的问我,我也不知道怎么回答,找google老师,查了很久还是没有得到一个正确的解答,今天总算可以给人家一个满意的答案了。
    其实我关注了老师的讲课,我发现如果加上一下发图的说明的过程会更加清晰地解决我们的有些问题。第二点,要掌握一种学习能力,做为一名程序员,企业看重的就是你的学习能力。因为软件这一行的更新速度是最快的,千万不能落后,所以我们做程序员的要天天学习,这样才可以跟着时代的步伐。当然,知识你是学不完了,只要有很强的学习能力,那么不管任何技术都是可以很快拿下的。

分享到:
评论

相关推荐

    JavaEnhance

    在Java世界里,"Enhance"通常指的是优化和增强,这可能包括性能优化、代码重构、新特性的利用等方面。以下是根据标题和描述可能涉及的一些Java高级技术知识点: 1. **Java集合框架**:包括HashMap、ArrayList、...

    Topaz Video Enhance AI

    软件描述:通过对数以千计的视频进行训练,并结合来自多个输入视频帧的信息, Topaz Video Enhance AI将以真实的细节和运动一致性将您的素材放大和增强到8K分辨率。使用智能AI技术,Video Enhance AI是有史以来功能...

    前端开源库-enhance-require

    本文将深入探讨`enhance-require`如何增强`require`,以及它在前端开发中的应用和重要性。 首先,`require`函数在Node.js环境中用于导入和使用其他模块,使得代码可以模块化,易于管理和复用。然而,原生的`require...

    Digital Enhance照片处理

    Digital Enhance照片处理

    ENVI 扩展工具-植被增强

    在合成新波段时,采用了分段增强,使得植被增强效果更加自然。 操作步骤 1) 启动ENVI,打开遥感图像文件; 2) 按照下面指定的工具或菜单路径找到Image Derivative工具,并启动。 在ENVI 5.2中,在Toolbox中选择/...

    Enhance工具类

    "Enhance工具类"在IT领域中通常指的是一个专门设计用于增强或扩展程序功能的类库。这样的工具类集合了一组静态方法,可以方便开发者在项目中进行各种常见操作,提高开发效率。以下是对"Enhance工具类"的详细解释和...

    用·java实现yolo算法,训练自己的数据 由浅入深代码集.docx

    - 图像增强:`enhance()`函数执行图像增强操作,如对比度调整、直方图均衡化等,以提高目标的可见性。 2. **目标检测**: - 分块:`cutIntoBlocks()`函数将图像分割成多个相等大小的小块,便于独立处理。 - 特征...

    image_enhance

    总的来说,这个“image_enhance”项目涵盖了数字图像处理的基础操作,通过MATLAB编程实现了一系列图像增强技术。这些技术在医学成像、卫星遥感、视频监控等领域都有广泛应用。了解并掌握这些技术对于深入理解和实践...

    glm enhance版

    大神devernay的 glm enhance版 opengl 下读取 obj 文件 含例子

    IE Tab Multi (Enhance)_12.2.12.1-0.zip

    《IE Tab Multi (Enhance):为Chrome带来的IE兼容性解决方案》 在互联网浏览器的世界里,Chrome以其稳定性和丰富的扩展库赢得了广大用户的喜爱。然而,有些网页或在线应用仍然依赖于Internet Explorer(IE)特有的...

    Python库 | config_enhance-1.2.2-py2.7.egg

    `config_enhance` 是一个Python库,专为增强配置管理而设计。在Python开发中,尤其是在后端服务中,配置管理是至关重要的,它允许开发者以结构化的方式存储和处理应用程序的设置,如数据库连接、API密钥、服务器端口...

    C# Image Enhance 图像增强

    空域增强、频域增强、图像锐化 支持阈值滤波、均值滤波、中值滤波 Kirsch算子、Laplace算子、Prewitt算子、Roberts算子、Sobel算子、 Butterworth高通滤波、Butterworth低通滤波、模板滤波等算法

    data_enhance.zip_数据增强

    标题中的"data_enhance.zip_数据增强"表明这是一个关于数据增强的压缩包文件,可能包含了实现数据增强的各种方法、代码或者示例。 在图像处理中,数据增强通常用于模拟真实世界中的变化,例如光照条件、角度、尺度...

    Squirrel Anime Enhance 0.0.3(SAE)

    视频超分处理工具,包含waifu2x、realesr、realcugan超分算法

    java抗锯齿字体

    Wrap Look and Feel acts as a decorator for the current ... This Look and Feel is a powerful tool you can use to enhance the appearance of any Java application, whether you have the source code or not.

    enhance_mam.rar_image_image enhance_processing

    在图像处理领域,"enhance_mam.rar_image_image enhance_processing" 这个压缩包文件包含了一个名为 "enhance_mam.m" 的MATLAB脚本,主要用于图像增强处理。MATLAB是一种广泛应用于数值计算、符号计算、数据可视化...

    essential skills of java

    ### Java Essential Skills for Secure Programming #### Introduction In today's digital age, the security of software applications is paramount. Criminal hackers have increasingly targeted web ...

    Enhance it 模糊照片增强v4.0.9高级版.zip

    "Enhance it 模糊照片增强v4.0.9高级版.zip" 是一个软件压缩包,主要用于提高模糊照片的质量。这款工具可能包含了先进的图像处理算法,能够改善照片的清晰度,使其看起来更加鲜明生动。从标签中我们可以推测,这个...

    data_enhance.py

    使用Augmentor进行数据增强,实现语言为python,并附有备注等信息

Global site tag (gtag.js) - Google Analytics