文章列表
黑马程序员Java培训和Android培训继续前进吧
- 博客分类:
- 杂感
经过有一段时间的复习,我有机会进入我渴望进去的“黑马”。兴奋,但是这只是开始。
黑马程序员
面向对象上
面向对象的概念
面向过程
在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口操作的函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数 ,是一种谓语与宾语的关系 。
面向对象
定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作 ,如隐藏,移动,最小化等。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的 ,这是一种主语与谓语的关系。
面向对象的三大特征
封装 (E ...
黑马程序员
Java编程基础
Java的基本语法(1)
java代码的位置位于类中,用关键字class表示。
java是严格区分大小写的
java是一种自由格式的语言
代码分为结构定义语句和功能执行语句
功能执行语句的最后必须用分号结束
java程序有三种注释方式 //注释单行代码(可以嵌套在/*...*/中);/*code...*/注释夹在中间的代码(这种格式的注释是不可以嵌套的);/**code...*/也可以注释多行,是专门生成java注释文档的格式。
Java的基本语法(2)
java中的标识符
java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字 ...
黑马程序员
开发前奏
"一次编译,到处运行"的原理
JVM虚拟机类似Windows操作系统
Java虚拟机可以是硬件 ,也可以是软件
Java跨平台的原因
Java兼顾解释性与编译性语言的特点
Java具有三个方面的内涵
是一种编程语言
是一 ...
黑马程序员
进程和线程
在多任务系统中,每个独立执行的程序称为进程,也即是"正在进行的程序"。我们现在使用的操作系统一般都是多任务的,即能够同时执行多个应用程序,实际情况是,操作系统负责对CPU等设备的资源进行分配和管理,虽然这些设备某一时刻只能做一件事,但是以非常小的时间间隔交替执行多个程序,就可以给人以同时执行多个程序的感觉。
一个进程中又可以包含一个或多个线程,一个线程就是一个程序内部的一条执行线索,如果要一程序中实现多段代码同时交替运行,就需要产生多个线程,并指定每个线程上所要运行的程序代码段,这就是多线程。
只有双CPU才能实现真正的多进程。
单线程和多线程的对 ...
黑马程序员
五十七
定义了一个静态内部类的话,如果在方法主函数中创建了一个这个静态内部类的对象,这个对象要马上调用这个内部静态类的一个方法。
在某个类中用static扩住的代码,在程序运行的首次仅仅加载一次。
五 ...
黑马程序员
五十一
同Java技术四的五十创建动态类的对象及调用其方法。
五十二
同五十
五十三
让动态生成的类成为目标类的代理
---怎样将目标类传进去?
直接在InvocationHandler实现类中创建目标类的实例对象,可以看运行效果和加入日志代码,但没有实际意义。
为InvocationHandler实现类注入目标类的实例对象,不能采用匿名内部类的形式了。
让匿名的 InvocationHandler实现类访问外面方法中的目标类实例对象的final类型的引用变量。
将创建代理的过程改为一种更优雅的方式,eclipse重构出一个getProxy方法绑定接收目标同时返回代理对象,让调 ...
黑马程序员
四十一
泛型方法的练习题
1编写一个泛型方法,自动将Object类型的对象转换成其他类型。
private static <T> T autoConvert(Object obj)
{
teturn (T) obj;
}
2定义一个方法,可以将任意类型的数组中的所有元素填充为相应类型的某个对象。
private static <T> void fillArray(T[] a,T obj)
{
for(int i=0;i<a.length;i++)
{
a[i]=obj;
}
}
3采用自定义泛型方法 ...
黑马程序员
三十一
对javabean复杂内省操作
关键代码
BeanInfo beanInfo=Introspector.getBeanInfo(pt1.getClass());
PropertyDescriptor[] pds=beanInfo.getPropertyDescriptors();
Object retVal=null;
for(PropertyDescriptor pd:pds)
{
if(pd.getName().equals(propertyName))
{
M ...
黑马程序员
二十一
字节码用等号比。
作业:将任意一个对象中的所有String类型的成员变量所对应的字符串内容中的"b"改为"a"。
关键代码:
private static void changeStringValue(Object obj ) throws Exception
{
Field [] field ...
黑马程序员
十一
基本数据类型的自动拆箱与装箱
自动装箱:
Integer num1=12;
自动拆箱 :
System.out.println(num1+12);
基本数据类型的对象缓存:
Integer num1=12;
Integer num2=12;
System.out.println(num1==num2);
Integer num3=129;
Integer num4=129;
System.out.println(num3==num4);
Integer num5=Integer.valueOf(12);
Integer num6=Integer.valueOf(12);
S ...
黑马程序员
一
二
三
eclipse的使用技巧
Workspace与Project 必须会切换工作间与导入项目。
Perspective与VIew。
设置整个workspace的javac与java。
设置单个工程的javac与java。
高版本的java能运行低版本的javac编译的程序。
IDE开发工具都支持 ...
黑马程序员
一
网络编程
网络编程的基础知识
网络协议TCP/IP
网络协议规定了计算机之间连接的物理,机械,电气等特性以及计算机之间的相互寻址规则,数据发送冲突的解决办法,分段发送与接收大数据包的方式等等。计算机 ...
黑马程序员
一
Applet
了解和体验Applet的作用
Applet就是嵌套在网页中的小程序。
浏览器显示网页的原理
网页文件就是一个普通的文本文件。
网页脚本编程的原理
Applet由浏览器来启动执行,其执行过程如下 :
(1)浏览器载入HTML ...
黑马程序员
一
GUI/图形用户界面
AWt的基础知识
GUI全称是Graphical User Interface即用户图形界面。
JDK中提供了AWT和Swing两个包,用于GUI程序的设计和开发。AWT不足以完全应对基于GUI的程序设计,Swing包补充完善了AWT,使得AWT更加丰富 ...