- 浏览: 341071 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (354)
- 学习 (219)
- 工作 (69)
- 前端技术 (188)
- 个人评论 (1)
- 工作总结 (1)
- 工作的方法 (1)
- 代码库 (1)
- jQuery (63)
- javascript (4)
- css (4)
- 网络通信协议 (3)
- web (7)
- 服务端性能 (1)
- 优化 (1)
- html5 (4)
- serialize (1)
- 上线页面 (1)
- ie6 (6)
- js (1)
- iframe (1)
- flash (1)
- a (1)
- img (1)
- 页面tms的要求 (1)
- kissy (3)
- 需求也页面 (0)
- 需求页面 (2)
- 视频插件 (1)
- 切图片 (1)
- map (1)
- display (1)
- 浮动定位 (1)
- 大小图片的切换功能 (2)
- demo (1)
- margin (1)
- a标签 (1)
- border (1)
- 侧导航 (1)
- 切换PNG格式的css (1)
- padding (1)
- 显示添加和删除 (1)
- 滚动条 (1)
- 和图片处理 (1)
- 移动端 (1)
- 定位 (1)
- 移动端的包的引入作用与直接拨打电话的A标签 (1)
- git (1)
- node.js (1)
- Zepto (1)
最新评论
-
幻紫1992:
还有分页的功能、、(⊙o⊙)嗯
[JS代码库] -
幻紫1992:
就是没有返回顶部的按钮,这个页面、、
[JS代码库] -
幻紫1992:
很受用,O(∩_∩)O谢谢啦~
[JS代码库] -
nlnl520coco:
想下个东西 规则太苛刻了 网站得改进
[JS代码库] -
hxp520520:
new Limiter() 这个对象是kissy API里面的 ...
Limiter的简单demo--20131029
计划
13到17章的复习
13.字符串
14.类型信息
15.泛型
16.数组
17.容器深入研究
复习结果
字符串
重构
//包名
package javafuxi3;
/**
* Concatenation 类
* @author xinjie
*
*/
public class Concatenation{
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//参数赋值
String mango = "mango";
//参数赋值
String s = "abc" + mango + "def" + 47;
//输出
System.out.println(s);
}
}
Formatter类
//调用包
import java.io.*;
//调用包
import java.util.*;
/**
* Turtle 类
* @author xinjie
*
*/
public class Turtle {
//定义私有参数
private String name;
//定义私有参数
private Formatter f;
/**
* Tutle()方法
* @param String name Formatter f
*/
public Turtle(String name, Formatter f){
//本类name引用 name
this.name = name;
//本类f引用 f
this.f = f;
}
/**
* move()方法
* @param int x int y
*
*/
public void move(int x, int y){
//调用方法
f.format("%s The Turtle is at (%d %d)\n" , name, x, y);
}
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//引用
PrintStream outAlias = System.out;
//创建实例化对象
Turtle tommy = new Turtle("Tommy",new Formatter(System.out));
//创建实例化对象
Turtle terry = new Turtle("Terry", new Formatter(outAlias));
//调用方法
tommy.move(0, 0);
//调用方法
tommy.move(4, 7);
//调用方法
tommy.move(3, 4);
//调用方法
tommy.move(2, 5);
//调用方法
tommy.move(3, 3);
//调用方法
tommy.move(3, 3);
}
}
Formatter转换
/调用包
import java.math.*;
//调用包
import java.util.*;
/**
* Conversion 类
* @author xinjie
*
*/
public class Conversion{
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化对象
Formatter f = new Formatter(System.out);
//定义参数
char u = 'a';
//输出
System.out.println("u = 'a'");
//调用方法
f.format("s: %s\n", u);
//调用方法
f.format("c: %c\n", u);
//调用方法
f.format("b: %b\n", u);
//调用方法
f.format("h: %h\n", u);
//定义参数
int v = 121;
//输出
System.out.println("v = 121");
//调用方法
f.format("d: %d\n", v);
//调用方法
f.format("c: %c\n", v);
//调用方法
f.format("d: %d\n", v);
//调用方法
f.format("b: %b\n", v);
//调用方法
f.format("s: %s\n", v);
//调用方法
f.format("x: %x\n", v);
//调用方法
f.format("h: %h\n", v);
//创建实例化对象
BigInteger w = new BigInteger("50000000000000");
//输出
System.out.println("w = new BigInteger(\"50000000000000\")");
//调用方法
f.format("d: %d\n", w);
//调用方法
f.format("b: %b\n", w);
//调用方法
f.format("s: %s\n", w);
//调用方法
f.format("x: %x\n", w);
//调用方法
f.format("h: %h\n", w);
//定义参数
double x = 179.543;
//输出
System.out.println("x = 179.543");
//调用方法
f.format("b: %b\n", x);
//调用方法
f.format("s: %s\n", x);
//调用方法
f.format("f: %f\n", x);
//调用方法
f.format("e: %e\n", x);
//调用方法
f.format("h: %h\n", x);
//创建实例化对象
Conversion y = new Conversion();
//输出
System.out.println("y = new Conversion");
//调用方法
f.format("b: %b\n", y);
//调用方法
f.format("s: %s\n", y);
//调用方法
f.format("h: %h\n", y);
//定义参数
boolean z = false;
//输出
System.out.println("z = false");
//调用方法
f.format("b: %b\n", z);
//调用方法
f.format("s: %s\n", z);
//调用方法
f.format("h: %h\n", z);
}
}
正则表达式
/**
* IntegerMatch 类
* @author xinjie
*
*/
public class IntegerMatch {
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//输出
System.out.println("-1234".matches("-?\\d+"));
//输出
System.out.println("5678".matches("-?\\d+"));
//输出
System.out.println("+911".matches("-?\\d+"));
//输出
System.out.println("+911".matches("(-|\\+)?\\d"));
}
}
//调用包
import java.util.*;
/**
* Splittiing 类
* @author xinjie
*
*/
public class Splittiing {
//定义参数
public static String knights =
"Then , when you have found the shrubbery, you must" +
"cut down the mightiest tree in the forest. . ." +
"with. . .a herring!";
/**
* split() 方法
* @param String regex
* 返回值为空
*/
public static void split(String regex){
//输出
System.out.println(Arrays.toString(knights.split(regex)));
}
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//按空格来划分字符串
split(" ");
//非单词字符
split("\\W+");
//字母n后面跟着一个或多个非单词字符
split("n\\W+");
}
}
//调用包
import java.util.regex.*;
/**
* ReFlags 类
* @author xinjie
*
*/
public class ReFlags {
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//引用
Pattern p = Pattern.compile("^java", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
//定义参数
Matcher m = p.matcher(
"java has regex\nJava has regex\n" +
"JAVA has pretty good regular expressions\n" +
"Regular expressions are in java");
//循环到m.find为止
while(m.find())
//输出
System.out.println(m.group());
}
}
类型信息
1.RTTI,假设编译时已经知道了所有的类型
//调用包
import java.util.*;
//定义接口
interface Shape {
/**
* draw()方法
* 返回值为空
*/
void draw();
}
/**
* Circle 类
* @author xinjie
* 实现接口
*/
class Circle implements Shape {
/**
* draw() 类
* 返回值为空
*/
public void draw() {
//输出
System.out.println("Circle.draw()");
}
}
/**
* Square 类
* @author xinjie
* 实现接口
*/
class Square implements Shape {
/**
* draw()方法
* 返回值为空
*/
public void draw() {
//输出
System.out.println("Square.draw()");
}
}
/**
* Triangle 类
* @author xinjie
* 实现接口
*/
class Triangle implements Shape {
/**
* draw()方法
* 返回值为空
*/
public void draw() {
//输出
System.out.println("Triangle.draw()");
}
}
/**
* Shapes 类
* @author xinjie
*
*/
public class Shapes {
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args) {
//创建实例化对象
Vector s = new Vector();
//创建实例化对象
s.addElement(new Circle());
//创建实例化对象
s.addElement(new Square());
//创建实例化对象
s.addElement(new Triangle());
//创建实例化对象
Enumeration e = s.elements();
//循环到e.hasMoreElements()为止
while(e.hasMoreElements())
//调用方法
((Shape)e.nextElement()).draw();
}
}
2.反射机制,在运行时发现和使用类的信息
/**
* AddressBean 类
* @author xinjie
*/
public class AddressBean {
//定义私有参数
private String street;
//定义私有参数
private String zip;
/**
* getZip()方法
* 返回值为zin
*/
public String getZip() {
return zip;
}
/**
* setZip()方法
* @param String zip
* 返回值为空
*/
public void setZip(String zip) {
//引用成员变量
this.zip = zip;
}
/**
* getStreet()方法
* 返回值为street
*/
public String getStreet() {
return street;
}
/**
* setStreet()方法
* @param String street
* 返回值为空
*/
public void setStreet(String street) {
//引用成员变量
this.street = street;
}
}
/**
* UserBean 类
* @author xinjie
*
*/
public class UserBean {
//定义私有参数
private String name;
//定义私有参数
private String nick;
//定义私有参数
private AddressBean address;
//定义私有参数
private int age;
/**
* getAge()方法
* 返回值为this.age
*/
public int getAge(){
//返回到引用该成员变量
return this.age;
}
/**
* setAge()方法
* @param int age
* 返回值为空
*/
public void setAge(int age){
//引用成员变量
this.age = age;
}
/**
* getName()方法
* 返回值为name
*/
public String getName() {
return name;
}
/**
* setName()方法
* @param String name
* 返回值为空
*/
public void setName(String name) {
//引用成员变量
this.name = name;
}
/**
* getNick()方法
* 返回值为nick
*/
public String getNick() {
return nick;
}
/**
* setNick()方法
* @param String nick
* 返回值为空
*/
public void setNick(String nick) {
//引用成员变量
this.nick = nick;
}
/**
* getAddress()方法
* 返回值为 address
*/
public AddressBean getAddress() {
return address;
}
/**
* setAddress()方法
* @param AddressBean address
*/
public void setAddress(AddressBean address) {
//引用成员变量
this.address = address;
}
}
//调用包
import java.lang.reflect.Method;
/**
* BeanParser 类
* @author xinjie
*
*/
public class BeanParser {
/**
* getMetthodName()方法
* @param String property String prefix
* 返回值为methodName
*/
private static String getMethodName(String property, String prefix){
//定义参数
String prop = Character.toUpperCase(property.charAt(0))+property.substring(1);
//定义参数
String methodName = prefix + prop;
return methodName;
}
/**
* pares()方法
* @param Object bean String expr
* 返回值为result
*/
private static Object parse(Object bean, String expr){
//引用
Class beanClass = bean.getClass();
//初始化
Method method = null;
//初始化
Object result = null;
//如果有异常
try{
method = beanClass.getMethod(getMethodName(expr, "get"), new Class[]{});
result = method.invoke(bean, new Object[]{});
//在这里捕捉
}catch(Exception e){
//输出
System.out.println(e.getMessage());
}
return result;
}
/**
* doparse()方法
* @param Object String expr
* 返回值为 obj
*/
public static Object doParse(Object bean, String expr){
//引用
String keys[] = expr.split("\\.");
//初始化
Object obj = null;
//for循环语句
for(int i = 1; i < keys.length;i++){
//引用
obj = parse(bean, keys[i]);
//引用
bean = obj;
}
return obj;
}
/**'
* main()方法
* @param Sreing[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化
UserBean bean = new UserBean();
//调用方法
bean.setName("John Abruzzi");
//调用方法
bean.setNick("Abruzzi");
//调用方法
bean.setAge(24);
//创建实例化对象
AddressBean addr = new AddressBean();
//调用方法
addr.setZip("0086");
//调用方法
addr.setStreet("Bell Street #12");
//调用方法
bean.setAddress(addr);
//输出
System.out.println(BeanParser.doParse(bean, "bean.address.street"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.address.zip"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.name"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.nick"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.age"));
}
}
3.class对象
/**
* MyClass 类
* @author Administrator
*
*/
public class MyClass {
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args) {
//定义参数
String name = "ZhuJun";
//引用
Class c = name.getClass();
//输出
System.out.println("getName: " + c.getName());
//输出
System.out.println("isInterface: " + c.isInterface());
//输出
System.out.println("isPrimitive: " + c.isPrimitive());
//输出
System.out.println("isArray: " + c.isArray());
//输出
System.out.println("SuperClass: " + c.getSuperclass().getName());
}
}
泛型
泛型接口
//在接口定义泛型
interface Info<T>{
/**
* getVar()方法
*/
public T getVar() ;
}
/**
* InfoImpl 类
* @author xinjie
* 实现接口
*/
class InfoImpl<T> implements Info<T>{
// 定义属性
private T var ;
// 通过构造方法设置属性内容
public InfoImpl(T var){
//引用成员变量
this.setVar(var) ;
}
/**
* setVar()方法
* @param T var
* 返回之外i额空
*/
public void setVar(T var){
//引用成员变量
this.var = var ;
}
/**
* getVar()方法
*/
public T getVar(){
//返回值为this.var
return this.var ;
}
}
/**
* Coffee 类
* @author xinjie
*
*/
public class Coffee{
/**
* main()方法
* @param String[] arsg
* 返回值为空
*/
public static void main(String arsg[]){
// 声明接口对象
Info<String> i = null;
// 通过子类实例化对象
i = new InfoImpl<String>("汤姆") ;
//输出
System.out.println("内容:" + i.getVar()) ;
}
}
泛型方法
/**
* GenericMethods 类
* @author xinjie
*
*/
public class GenericMethods {
/**
* f()方法
* @param T x
* 返回值为空
*/
public<T> void f(T x){
//输出
System.out.println(x.getClass().getName());
}
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化
GenericMethods gm = new GenericMethods();
//调用方法
gm.f(" ");
//调用方法
gm.f(1);
//调用方法
gm.f(1.0);
//调用方法
gm.f(1.0f);
//调用方法
gm.f('c');
//调用方法
gm.f(gm);
}
}
泛型数组
/**
* GenericsDemo30 类
* @author xinjie
*
*/
public class GenericsDemo30{
/**
* main()方法
* @paramString[] args
* 返回值为空
*/
public static void main(String args[]){
// 返回泛型数组
Integer i[] = fun1(1,2,3,4,5,6) ;
//赋值给数组
fun2(i) ;
}
// 接收可变参数
public static <T> T[] fun1(T...arg){
// 返回泛型数组
return arg ;
}
// 接收可变参数
public static <T> void fun2(T param[]){
//输出
System.out.print("接收泛型数组:") ;
//for循环语句
for(T t:param){
//输出
System.out.print(t + "、") ;
}
}
}
数组
返回一个数组
//调用包
import java.util.*;
/**
* IceCream 类
* @author xinjie
*
*/
public class IceCream {
//创建实例化
private static Random rand = new Random(47);
//定义参数
static final String[] FLAVORS = {
"Chocolate", "Strawberry", "Vanilla Fudge Swirl",
"Mint Chip", "Mocha Almond Fudge", "Rum Raisin",
"Praline Cream", "Mud Pie"
};
/**
* flavorSet() 方法
* @param int n
* 返回值为results
*/
public static String[] flavorSet(int n){
//if语句
if(n > FLAVORS.length)
//新建一个异常对象
throw new IllegalArgumentException("Set too big");
//创建实例化对象
String[] results = new String[n];
//创建实例化对象
boolean[] picked = new boolean[FLAVORS.length];
//for循环语句
for(int i = 0; i < n; i++){
//一定参数
int t;
//循环
do
//引用
t = rand.nextInt(FLAVORS.length);
//循环条件
while(picked[t]);
//引用
results[i] = FLAVORS[t];
//引用
picked[t] = true;
}
//返回值
return results;
}
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//for循环语句
for(int i = 0; i < 7; i++)
//输出
System.out.println(Arrays.toString(flavorSet(3)));
}
}
多维数组
//调用包
import java.util.Arrays;
/**
* MultidmensionalPrimitiveArray 类
* @author xinjie
*
*/
public class MultidmensionalPrimitiveArray {
/**
* main()方法
* @param Sreing[] args
* 返回值为空
*/
public static void main(String[] args){
//定义二位数组
int[][] a = {
{1, 2, 3,},
{4, 5, 6,},
};
//输出
System.out.println(Arrays.deepToString(a));
}
}
容器深入研究
填充容器
//调用包
import java.util.*;
/**
* StringAddress 类
* @author xinjie
*
*/
class StringAddress{
//定义私有参数
private String s;
/**
* StringAddress 类
* @param String s
*/
public StringAddress(String s) {this.s = s;}
/**
* toString()方法
* 返回值为super.toString() + " " + s
*/
public String toString(){
return super.toString() + " " + s;
}
}
/**
* FillingLists 类
* @author xinjie
*
*/
public class FillingLists {
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化对象
List <StringAddress> list = new ArrayList<StringAddress>(
Collections.nCopies(4, new StringAddress("Hello")));
//输出
System.out.println(list);
//调用方法
Collections.fill(list, new StringAddress("World"));
//输出
System.out.println(list);
}
}
今天的单词
new if else
13到17章的复习
13.字符串
14.类型信息
15.泛型
16.数组
17.容器深入研究
复习结果
字符串
重构
//包名
package javafuxi3;
/**
* Concatenation 类
* @author xinjie
*
*/
public class Concatenation{
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//参数赋值
String mango = "mango";
//参数赋值
String s = "abc" + mango + "def" + 47;
//输出
System.out.println(s);
}
}
Formatter类
//调用包
import java.io.*;
//调用包
import java.util.*;
/**
* Turtle 类
* @author xinjie
*
*/
public class Turtle {
//定义私有参数
private String name;
//定义私有参数
private Formatter f;
/**
* Tutle()方法
* @param String name Formatter f
*/
public Turtle(String name, Formatter f){
//本类name引用 name
this.name = name;
//本类f引用 f
this.f = f;
}
/**
* move()方法
* @param int x int y
*
*/
public void move(int x, int y){
//调用方法
f.format("%s The Turtle is at (%d %d)\n" , name, x, y);
}
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//引用
PrintStream outAlias = System.out;
//创建实例化对象
Turtle tommy = new Turtle("Tommy",new Formatter(System.out));
//创建实例化对象
Turtle terry = new Turtle("Terry", new Formatter(outAlias));
//调用方法
tommy.move(0, 0);
//调用方法
tommy.move(4, 7);
//调用方法
tommy.move(3, 4);
//调用方法
tommy.move(2, 5);
//调用方法
tommy.move(3, 3);
//调用方法
tommy.move(3, 3);
}
}
Formatter转换
/调用包
import java.math.*;
//调用包
import java.util.*;
/**
* Conversion 类
* @author xinjie
*
*/
public class Conversion{
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化对象
Formatter f = new Formatter(System.out);
//定义参数
char u = 'a';
//输出
System.out.println("u = 'a'");
//调用方法
f.format("s: %s\n", u);
//调用方法
f.format("c: %c\n", u);
//调用方法
f.format("b: %b\n", u);
//调用方法
f.format("h: %h\n", u);
//定义参数
int v = 121;
//输出
System.out.println("v = 121");
//调用方法
f.format("d: %d\n", v);
//调用方法
f.format("c: %c\n", v);
//调用方法
f.format("d: %d\n", v);
//调用方法
f.format("b: %b\n", v);
//调用方法
f.format("s: %s\n", v);
//调用方法
f.format("x: %x\n", v);
//调用方法
f.format("h: %h\n", v);
//创建实例化对象
BigInteger w = new BigInteger("50000000000000");
//输出
System.out.println("w = new BigInteger(\"50000000000000\")");
//调用方法
f.format("d: %d\n", w);
//调用方法
f.format("b: %b\n", w);
//调用方法
f.format("s: %s\n", w);
//调用方法
f.format("x: %x\n", w);
//调用方法
f.format("h: %h\n", w);
//定义参数
double x = 179.543;
//输出
System.out.println("x = 179.543");
//调用方法
f.format("b: %b\n", x);
//调用方法
f.format("s: %s\n", x);
//调用方法
f.format("f: %f\n", x);
//调用方法
f.format("e: %e\n", x);
//调用方法
f.format("h: %h\n", x);
//创建实例化对象
Conversion y = new Conversion();
//输出
System.out.println("y = new Conversion");
//调用方法
f.format("b: %b\n", y);
//调用方法
f.format("s: %s\n", y);
//调用方法
f.format("h: %h\n", y);
//定义参数
boolean z = false;
//输出
System.out.println("z = false");
//调用方法
f.format("b: %b\n", z);
//调用方法
f.format("s: %s\n", z);
//调用方法
f.format("h: %h\n", z);
}
}
正则表达式
/**
* IntegerMatch 类
* @author xinjie
*
*/
public class IntegerMatch {
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//输出
System.out.println("-1234".matches("-?\\d+"));
//输出
System.out.println("5678".matches("-?\\d+"));
//输出
System.out.println("+911".matches("-?\\d+"));
//输出
System.out.println("+911".matches("(-|\\+)?\\d"));
}
}
//调用包
import java.util.*;
/**
* Splittiing 类
* @author xinjie
*
*/
public class Splittiing {
//定义参数
public static String knights =
"Then , when you have found the shrubbery, you must" +
"cut down the mightiest tree in the forest. . ." +
"with. . .a herring!";
/**
* split() 方法
* @param String regex
* 返回值为空
*/
public static void split(String regex){
//输出
System.out.println(Arrays.toString(knights.split(regex)));
}
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//按空格来划分字符串
split(" ");
//非单词字符
split("\\W+");
//字母n后面跟着一个或多个非单词字符
split("n\\W+");
}
}
//调用包
import java.util.regex.*;
/**
* ReFlags 类
* @author xinjie
*
*/
public class ReFlags {
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//引用
Pattern p = Pattern.compile("^java", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
//定义参数
Matcher m = p.matcher(
"java has regex\nJava has regex\n" +
"JAVA has pretty good regular expressions\n" +
"Regular expressions are in java");
//循环到m.find为止
while(m.find())
//输出
System.out.println(m.group());
}
}
类型信息
1.RTTI,假设编译时已经知道了所有的类型
//调用包
import java.util.*;
//定义接口
interface Shape {
/**
* draw()方法
* 返回值为空
*/
void draw();
}
/**
* Circle 类
* @author xinjie
* 实现接口
*/
class Circle implements Shape {
/**
* draw() 类
* 返回值为空
*/
public void draw() {
//输出
System.out.println("Circle.draw()");
}
}
/**
* Square 类
* @author xinjie
* 实现接口
*/
class Square implements Shape {
/**
* draw()方法
* 返回值为空
*/
public void draw() {
//输出
System.out.println("Square.draw()");
}
}
/**
* Triangle 类
* @author xinjie
* 实现接口
*/
class Triangle implements Shape {
/**
* draw()方法
* 返回值为空
*/
public void draw() {
//输出
System.out.println("Triangle.draw()");
}
}
/**
* Shapes 类
* @author xinjie
*
*/
public class Shapes {
/**
* main() 方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args) {
//创建实例化对象
Vector s = new Vector();
//创建实例化对象
s.addElement(new Circle());
//创建实例化对象
s.addElement(new Square());
//创建实例化对象
s.addElement(new Triangle());
//创建实例化对象
Enumeration e = s.elements();
//循环到e.hasMoreElements()为止
while(e.hasMoreElements())
//调用方法
((Shape)e.nextElement()).draw();
}
}
2.反射机制,在运行时发现和使用类的信息
/**
* AddressBean 类
* @author xinjie
*/
public class AddressBean {
//定义私有参数
private String street;
//定义私有参数
private String zip;
/**
* getZip()方法
* 返回值为zin
*/
public String getZip() {
return zip;
}
/**
* setZip()方法
* @param String zip
* 返回值为空
*/
public void setZip(String zip) {
//引用成员变量
this.zip = zip;
}
/**
* getStreet()方法
* 返回值为street
*/
public String getStreet() {
return street;
}
/**
* setStreet()方法
* @param String street
* 返回值为空
*/
public void setStreet(String street) {
//引用成员变量
this.street = street;
}
}
/**
* UserBean 类
* @author xinjie
*
*/
public class UserBean {
//定义私有参数
private String name;
//定义私有参数
private String nick;
//定义私有参数
private AddressBean address;
//定义私有参数
private int age;
/**
* getAge()方法
* 返回值为this.age
*/
public int getAge(){
//返回到引用该成员变量
return this.age;
}
/**
* setAge()方法
* @param int age
* 返回值为空
*/
public void setAge(int age){
//引用成员变量
this.age = age;
}
/**
* getName()方法
* 返回值为name
*/
public String getName() {
return name;
}
/**
* setName()方法
* @param String name
* 返回值为空
*/
public void setName(String name) {
//引用成员变量
this.name = name;
}
/**
* getNick()方法
* 返回值为nick
*/
public String getNick() {
return nick;
}
/**
* setNick()方法
* @param String nick
* 返回值为空
*/
public void setNick(String nick) {
//引用成员变量
this.nick = nick;
}
/**
* getAddress()方法
* 返回值为 address
*/
public AddressBean getAddress() {
return address;
}
/**
* setAddress()方法
* @param AddressBean address
*/
public void setAddress(AddressBean address) {
//引用成员变量
this.address = address;
}
}
//调用包
import java.lang.reflect.Method;
/**
* BeanParser 类
* @author xinjie
*
*/
public class BeanParser {
/**
* getMetthodName()方法
* @param String property String prefix
* 返回值为methodName
*/
private static String getMethodName(String property, String prefix){
//定义参数
String prop = Character.toUpperCase(property.charAt(0))+property.substring(1);
//定义参数
String methodName = prefix + prop;
return methodName;
}
/**
* pares()方法
* @param Object bean String expr
* 返回值为result
*/
private static Object parse(Object bean, String expr){
//引用
Class beanClass = bean.getClass();
//初始化
Method method = null;
//初始化
Object result = null;
//如果有异常
try{
method = beanClass.getMethod(getMethodName(expr, "get"), new Class[]{});
result = method.invoke(bean, new Object[]{});
//在这里捕捉
}catch(Exception e){
//输出
System.out.println(e.getMessage());
}
return result;
}
/**
* doparse()方法
* @param Object String expr
* 返回值为 obj
*/
public static Object doParse(Object bean, String expr){
//引用
String keys[] = expr.split("\\.");
//初始化
Object obj = null;
//for循环语句
for(int i = 1; i < keys.length;i++){
//引用
obj = parse(bean, keys[i]);
//引用
bean = obj;
}
return obj;
}
/**'
* main()方法
* @param Sreing[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化
UserBean bean = new UserBean();
//调用方法
bean.setName("John Abruzzi");
//调用方法
bean.setNick("Abruzzi");
//调用方法
bean.setAge(24);
//创建实例化对象
AddressBean addr = new AddressBean();
//调用方法
addr.setZip("0086");
//调用方法
addr.setStreet("Bell Street #12");
//调用方法
bean.setAddress(addr);
//输出
System.out.println(BeanParser.doParse(bean, "bean.address.street"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.address.zip"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.name"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.nick"));
//输出
System.out.println(BeanParser.doParse(bean, "bean.age"));
}
}
3.class对象
/**
* MyClass 类
* @author Administrator
*
*/
public class MyClass {
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args) {
//定义参数
String name = "ZhuJun";
//引用
Class c = name.getClass();
//输出
System.out.println("getName: " + c.getName());
//输出
System.out.println("isInterface: " + c.isInterface());
//输出
System.out.println("isPrimitive: " + c.isPrimitive());
//输出
System.out.println("isArray: " + c.isArray());
//输出
System.out.println("SuperClass: " + c.getSuperclass().getName());
}
}
泛型
泛型接口
//在接口定义泛型
interface Info<T>{
/**
* getVar()方法
*/
public T getVar() ;
}
/**
* InfoImpl 类
* @author xinjie
* 实现接口
*/
class InfoImpl<T> implements Info<T>{
// 定义属性
private T var ;
// 通过构造方法设置属性内容
public InfoImpl(T var){
//引用成员变量
this.setVar(var) ;
}
/**
* setVar()方法
* @param T var
* 返回之外i额空
*/
public void setVar(T var){
//引用成员变量
this.var = var ;
}
/**
* getVar()方法
*/
public T getVar(){
//返回值为this.var
return this.var ;
}
}
/**
* Coffee 类
* @author xinjie
*
*/
public class Coffee{
/**
* main()方法
* @param String[] arsg
* 返回值为空
*/
public static void main(String arsg[]){
// 声明接口对象
Info<String> i = null;
// 通过子类实例化对象
i = new InfoImpl<String>("汤姆") ;
//输出
System.out.println("内容:" + i.getVar()) ;
}
}
泛型方法
/**
* GenericMethods 类
* @author xinjie
*
*/
public class GenericMethods {
/**
* f()方法
* @param T x
* 返回值为空
*/
public<T> void f(T x){
//输出
System.out.println(x.getClass().getName());
}
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化
GenericMethods gm = new GenericMethods();
//调用方法
gm.f(" ");
//调用方法
gm.f(1);
//调用方法
gm.f(1.0);
//调用方法
gm.f(1.0f);
//调用方法
gm.f('c');
//调用方法
gm.f(gm);
}
}
泛型数组
/**
* GenericsDemo30 类
* @author xinjie
*
*/
public class GenericsDemo30{
/**
* main()方法
* @paramString[] args
* 返回值为空
*/
public static void main(String args[]){
// 返回泛型数组
Integer i[] = fun1(1,2,3,4,5,6) ;
//赋值给数组
fun2(i) ;
}
// 接收可变参数
public static <T> T[] fun1(T...arg){
// 返回泛型数组
return arg ;
}
// 接收可变参数
public static <T> void fun2(T param[]){
//输出
System.out.print("接收泛型数组:") ;
//for循环语句
for(T t:param){
//输出
System.out.print(t + "、") ;
}
}
}
数组
返回一个数组
//调用包
import java.util.*;
/**
* IceCream 类
* @author xinjie
*
*/
public class IceCream {
//创建实例化
private static Random rand = new Random(47);
//定义参数
static final String[] FLAVORS = {
"Chocolate", "Strawberry", "Vanilla Fudge Swirl",
"Mint Chip", "Mocha Almond Fudge", "Rum Raisin",
"Praline Cream", "Mud Pie"
};
/**
* flavorSet() 方法
* @param int n
* 返回值为results
*/
public static String[] flavorSet(int n){
//if语句
if(n > FLAVORS.length)
//新建一个异常对象
throw new IllegalArgumentException("Set too big");
//创建实例化对象
String[] results = new String[n];
//创建实例化对象
boolean[] picked = new boolean[FLAVORS.length];
//for循环语句
for(int i = 0; i < n; i++){
//一定参数
int t;
//循环
do
//引用
t = rand.nextInt(FLAVORS.length);
//循环条件
while(picked[t]);
//引用
results[i] = FLAVORS[t];
//引用
picked[t] = true;
}
//返回值
return results;
}
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//for循环语句
for(int i = 0; i < 7; i++)
//输出
System.out.println(Arrays.toString(flavorSet(3)));
}
}
多维数组
//调用包
import java.util.Arrays;
/**
* MultidmensionalPrimitiveArray 类
* @author xinjie
*
*/
public class MultidmensionalPrimitiveArray {
/**
* main()方法
* @param Sreing[] args
* 返回值为空
*/
public static void main(String[] args){
//定义二位数组
int[][] a = {
{1, 2, 3,},
{4, 5, 6,},
};
//输出
System.out.println(Arrays.deepToString(a));
}
}
容器深入研究
填充容器
//调用包
import java.util.*;
/**
* StringAddress 类
* @author xinjie
*
*/
class StringAddress{
//定义私有参数
private String s;
/**
* StringAddress 类
* @param String s
*/
public StringAddress(String s) {this.s = s;}
/**
* toString()方法
* 返回值为super.toString() + " " + s
*/
public String toString(){
return super.toString() + " " + s;
}
}
/**
* FillingLists 类
* @author xinjie
*
*/
public class FillingLists {
/**
* main()方法
* @param String[] args
* 返回值为空
*/
public static void main(String[] args){
//创建实例化对象
List <StringAddress> list = new ArrayList<StringAddress>(
Collections.nCopies(4, new StringAddress("Hello")));
//输出
System.out.println(list);
//调用方法
Collections.fill(list, new StringAddress("World"));
//输出
System.out.println(list);
}
}
今天的单词
new if else
发表评论
-
Zepto
2015-08-15 13:49 1234Zepto Zepto,是一个比较 ... -
node.js的学习-20140611
2014-06-11 23:17 769//创建一个h1方法里面舒服一个nihao functi ... -
node.js的学习-20140609
2014-06-09 23:01 580Node.js 是一个基于Chrome JavaScript ... -
git的学习-20140604
2014-06-04 23:30 531Git使用 首先 开启"G ... -
PC和移动端的页面的一些差距-20140525
2014-05-25 23:46 879首先 1、标签、描述等描述清晰准确 2、网站结构3层树状结构 ... -
Bootstrap排版基础样式和响应式图片-20140521
2014-05-22 00:41 2737Bootstrap基础排版样式 .col-xs-* // ... -
Bootstrap特性、设计和组件-20140519
2014-05-19 22:22 710特点 Bootstrap是基于jQuery框架开发的,它在j ... -
Bootstrap流式布局-20140515
2014-05-16 00:26 14753流布局是一种适应屏幕的做法。即不固定块的宽度,而是采用百分比作 ... -
Bootstrap的宽度和分辨率的差别-20140514
2014-05-14 23:05 6263首先在bootstrap里面所有 ... -
Bootstrap的认识-20140513
2014-05-14 00:09 1380通过公司的两个比较大 ... -
jquery初步认识-20140123
2014-01-24 01:30 695一、原型模式结构 // 定义一个jQuery构造函数 ... -
html5的特殊标签作用-20140114
2014-01-15 01:04 913<base>、定义页面中所有链接的基准URL & ... -
ie下的指定样式-20140106
2014-01-08 00:00 7681. <!--[if !IE]><!--&g ... -
margin-left在IE6下左浮动加倍-20140102
2014-01-02 23:04 749一、IE6下如果line-height超出本身区块的heigh ... -
浮动存在的问题-20131229
2013-12-29 23:00 540看一个正常的浮动案例 <!DOCTYPE h ... -
在ie6下同张图片不能外面包有a标签后在画热区-20131223
2013-12-23 23:47 869最近在做页面有的发现一个问题 <div class ... -
ie6下导航存在的问题和-2013-12-20
2013-12-21 00:51 639最近在做事的时候发现一个有趣的问题,在上网也找过但是都没有很好 ... -
按比例展示的小js-20131217
2013-12-18 00:41 435做需求的做到一个关于这个功能的项目所以记下来 Math.ra ... -
定位需要注意-20131214
2013-12-15 01:07 699在CSS中关于定位的内容 ... -
flash在Safari下的BUG-20131212
2013-12-12 01:09 768<object width="940&qu ...
相关推荐
7. Python编程方面,numpy是用于科学计算的重要库,属于第三方库而非标准库。math库提供数学函数,matplotlib用于数据可视化,而scrapy是一个爬虫框架。 8. 元组定义中,(1)会被解释为一个数值,而不是一个单元素...
小月有4个,即4月、6月、9月和11月,每个小月有30天。2月是特殊的一个月,平年有28天,闰年有29天。 3. 植树节: 植树节通常在3月12日,这是鼓励人们参与植树造林,保护环境的节日。 4. 学习提纲: 学生需要研究某...
第一季度包括1月、2月和3月,第二季度是4月、5月和6月,第三季度是7月、8月和9月,第四季度则是10月、11月和12月。 在练习部分,设置了判断题和抢答题,以检验学生对年、月、日的理解。例如,确认每年并非都是365天...
3. **月份天数**:不同月份的天数不同,通常情况下,1月和3月有31天,4月、6月、9月和11月有30天,2月根据是否是闰年有所不同。这些天数可以存储在一个数组中方便查询。 4. **累计天数**:从1月1日开始,每个月的...
他们对新生活充满感激,并在11月的第四个星期四邀请印第安人共度感恩节,纪念那些离开英格兰的人,以及他们在65天旅程中展现出的坚韧精神。 这部分知识点包括: 1. 美国感恩节的历史背景:起源于1621年的普利茅斯。...
直到第三十一天 thirty-first 31st 学生需要掌握如何将这些序数词与月份结合,正确地表达日期,例如 "It’s the 23rd of August"(今天是八月二十三日)。 通过这个教案,七年级的学生不仅能学会英语中的月份和...
5. 阿拉曼战役:1942年10月至11月,英军在北非的阿拉曼战役中战胜德军,扭转了非洲战场的局面,隆美尔领导的德军被迫撤退。 6. 斯大林格勒战役:1942年夏至1943年春,苏军在斯大林格勒与德军进行激烈战斗,最终迫使...
2. 对前17位数字按以下权重进行加权求和:第一位乘以7,第二位乘以9,第三位乘以10,第四位乘以5,第五位乘以8,第六位乘以6,第七位乘以3,第八位乘以4,第九位乘以5,第十位乘以6,第十一位乘以7,第十二位乘以8,...
3. 学习年限:非护理专业的学习者通常需要2.5年的学习时间来完成学业。 4. 高校远程教育的管理:中国高校通常采用网络教育学院和学习中心两级管理模式,对远程教育进行组织和管理。 5. 学习量建议:学生每学期不宜...
第一季度是1月、2月和3月,第二季度是4月、5月和6月,第三季度是7月、8月和9月,最后第四季度是10月、11月和12月。 在实际应用中,孩子们需要掌握如何判断一个年份是否为闰年,并能够正确计算不同月份的天数。例如...
这份文件是一份七年级上册英语第三次月考试题的电子版,内容涉及英语的基础语法知识,单词的正确使用,以及一些常用的短语搭配。从文件内容中可以看出,考试题型包含选择题、填空题和问句回答题。以下是根据文件内容...
4、6、9、11月是小月,有30天;2月是特殊月,通常有28天,闰年时有29天。 3. 日的概念:日是时间的最小单位,孩子们会学习到一周有七天,分别是星期一到星期日。他们需要学会日期的正确书写格式,例如2022年3月15日...
【部分内容】:提到“数理与信息工程学院第十五届‘十大学习标兵’评选会候选人资料2015年11月28号”揭示了几个关键点: 1. 学院名称:数理与信息工程学院,这通常是一个综合大学或理工科院校的下属学院,涵盖了...
9. **时间节点**:各地区的网上确认时间不一,如河北10月31日至11月4日,上海10月30日至11月4日12:00,广东10月下至11月上旬等,考生需密切关注各自报考点的公告。 10. **保持警惕**:报名成功后,考生还需要持续...
例如第1题测试学生对于国籍复数形式的掌握,第2题考察代词在句中的正确使用,第3题是询问地点的间接引语,第4题是询问职业的问句结构,第5题是一个选择疑问句,第6题测试介词“as”在表示职业时的用法,第7题的演员...
3. 一些特定日期的读法:January 1st(一月一日),March 8th(三月八日),August 2nd(八月二日),September 10th(九月十日),July 3rd(七月三日),February 12th(二月十二日),October 20th(十月二十日)...
在《Linux设备驱动程序(第3版)》的学习过程中,作者分享了其在ARM-Linux领域九个月的学习经历,以及如何逐步深入掌握该领域的知识和技术。文章强调了理论与实践相结合的重要性,并决定跟随这本书的指引进行更深入...
[1]护理学杂志2020年11月第35卷第22期・85・tanIeofthesiteofreIurrenIeinpatientswith metastatiI recurrent cervical cancer [J). Int J Radiat Oncol Biol Phys,2017,98(5) :1124-1131. [21) You K Y, Peng H H...
此文档是广东省江门市第二中学2018-2019学年高一英语11月月考试题,属于中学试题类别。试卷共有七大题,100小题,总分为150分,考试时间为120分钟。考生需在答题卡上作答,遵循特定的答题规则,如选择题需要用2B铅笔...
- 7月和8月加起来有62天,9月有30天,所以这三个月加起来并不是90天,第三题的答案为“×”。 - 2月没有31天,因此第四题的答案也为“×”。 ##### 练习题三 - 如果日历的第一天是星期三,那么这个月的第一个星期二...