Java-2-类
2015-08-22 10:56
253 查看
Ø 课堂讨论要点:
1.数据的表示和存储模式
> 基本类型 (面向过程的语言, 处处皆函数!)
Int, byte, long, …..
Float, double….
boolean
char,String
数组 (指针的加减法运算)
> 过度类型
没有一种数据类型能够用来说明一个人?
软件语言设计者发现使用任何一种基本类型都无法说明现实生活的具体某一事物,最多只能说明其中的一个特征。那么,如果要说明一个拥有众多特征的事物,可能需要有多个基本类型来配合完成。
多种不同的基本类型捆绑在一起用来表示一个事物的各个方面的特征,
struct book{
double bookWeight;
string bookName;
float bookPrice;
boolean ….
} b;
book b;
b. bookName=”J2EE学习”;
> 复杂类型 (class 类型)
class Cat{
Double weight;
String name;
Int age;
Void run() { }
Void sound() { }
…..
}
Cat c;
Class是包含了方法的超级结构体。
创建结构体变量(开辟内存空间)
book b;
b.bookName…
创建类变量以及创建对象 (开辟空间)
Cat c=new Cat();
这里是c是指针,指向在内存中的Cat对象。
new Cat()是申请内存空间,创建对象。
2. 类和对象
声明结构体 à 结构体变量
声明类 à 对象
万事万物皆对象,世界是由对象构成的,每个对象都有特征和行为,对象组合之后可以形成新的对象。
类是模具,而对象是由模具创建出来的实物
现实生活:
模具 à 实物
(***模具是重要而且复杂的,同时也是抽象的)
程序中:(程序开发的目标就是为了再造世界)
类 à 对象
(创建类是复杂的,抽象的工作)
如何创建类?
类是模具,有了类,就可以通过这个模具生成出来很多对象。
3.类的构建
a. 属性 (property) [成员]
b. 方法 (method) [动作]
属性是主人,方法为属性服务,是仆人。
c. 类的构建粒度
满足程序的设计需要即可,未涉及的属性和方法可不加入类的设计。
不同的应用领域会有不同的抽象视角。
Cat c=new Cat();
C是一个指针,c的数据类型是Cat型,说明c可以指向任何以Cat模具创造出来的对象。
4.Random类
本类可以完成随机数的生成工作。
用法:
Random r=new Random();
System.out.println(r.nextInt());
System.out.println(r.nextInt(100));
System.out.println(1+r.nextInt(36));
System.out.println(r.nextFloat());
System.out.println(r.nextDouble());
System.out.println(r.nextBoolean());
5. 数组的使用
int[] a=new int[3];
int[][] b=new int[2][3];
在java中,数组也是对象,必须通过new来创建和申请空间。
数组因为是对象,所以也不能直接访问,必须通过一个指针(引用变量)来指向,不是所有的引用变量都可以指向数组对象,必须类型匹配,int[] 是引用变量a的数据类型,说明a是一个可以指向内存中的一维数组对象的引用变量(指针).
6.补充
J***A的数组将自动初始化,整形数据初始化为0,浮点型自动初始化为0.0. boolean型初始化为false
同包类,所以无需导入,直接使用即可。异包类则必须导入。
J***A输入流
Scanner scanner=new Scanner(System.in);
String entry=null;
entry=scanner.next();
类似于C++中的string a; cin>>a;
字符串的不变性(字符串的方法需要多了解,字符串的复用)
String str=new String("hello world!"); //在java中,字符串是对象,需要用new创建实例
System.out.println(str.concat("superstar")); //字符串与字符串相加之后,结果是一个新的字符串对象,原来的str保持不变
1.数据的表示和存储模式
> 基本类型 (面向过程的语言, 处处皆函数!)
Int, byte, long, …..
Float, double….
boolean
char,String
数组 (指针的加减法运算)
> 过度类型
没有一种数据类型能够用来说明一个人?
软件语言设计者发现使用任何一种基本类型都无法说明现实生活的具体某一事物,最多只能说明其中的一个特征。那么,如果要说明一个拥有众多特征的事物,可能需要有多个基本类型来配合完成。
多种不同的基本类型捆绑在一起用来表示一个事物的各个方面的特征,
struct book{
double bookWeight;
string bookName;
float bookPrice;
boolean ….
} b;
book b;
b. bookName=”J2EE学习”;
> 复杂类型 (class 类型)
class Cat{
Double weight;
String name;
Int age;
Void run() { }
Void sound() { }
…..
}
Cat c;
Class是包含了方法的超级结构体。
创建结构体变量(开辟内存空间)
book b;
b.bookName…
创建类变量以及创建对象 (开辟空间)
Cat c=new Cat();
这里是c是指针,指向在内存中的Cat对象。
new Cat()是申请内存空间,创建对象。
2. 类和对象
声明结构体 à 结构体变量
声明类 à 对象
万事万物皆对象,世界是由对象构成的,每个对象都有特征和行为,对象组合之后可以形成新的对象。
类是模具,而对象是由模具创建出来的实物
现实生活:
模具 à 实物
(***模具是重要而且复杂的,同时也是抽象的)
程序中:(程序开发的目标就是为了再造世界)
类 à 对象
(创建类是复杂的,抽象的工作)
如何创建类?
类是模具,有了类,就可以通过这个模具生成出来很多对象。
3.类的构建
a. 属性 (property) [成员]
b. 方法 (method) [动作]
属性是主人,方法为属性服务,是仆人。
c. 类的构建粒度
满足程序的设计需要即可,未涉及的属性和方法可不加入类的设计。
不同的应用领域会有不同的抽象视角。
Cat c=new Cat();
C是一个指针,c的数据类型是Cat型,说明c可以指向任何以Cat模具创造出来的对象。
4.Random类
本类可以完成随机数的生成工作。
用法:
Random r=new Random();
System.out.println(r.nextInt());
System.out.println(r.nextInt(100));
System.out.println(1+r.nextInt(36));
System.out.println(r.nextFloat());
System.out.println(r.nextDouble());
System.out.println(r.nextBoolean());
5. 数组的使用
int[] a=new int[3];
int[][] b=new int[2][3];
在java中,数组也是对象,必须通过new来创建和申请空间。
数组因为是对象,所以也不能直接访问,必须通过一个指针(引用变量)来指向,不是所有的引用变量都可以指向数组对象,必须类型匹配,int[] 是引用变量a的数据类型,说明a是一个可以指向内存中的一维数组对象的引用变量(指针).
6.补充
J***A的数组将自动初始化,整形数据初始化为0,浮点型自动初始化为0.0. boolean型初始化为false
同包类,所以无需导入,直接使用即可。异包类则必须导入。
J***A输入流
Scanner scanner=new Scanner(System.in);
String entry=null;
entry=scanner.next();
类似于C++中的string a; cin>>a;
字符串的不变性(字符串的方法需要多了解,字符串的复用)
String str=new String("hello world!"); //在java中,字符串是对象,需要用new创建实例
System.out.println(str.concat("superstar")); //字符串与字符串相加之后,结果是一个新的字符串对象,原来的str保持不变
相关文章推荐
- Struts(11)文件上传
- Struts(10)值栈/OGNL
- Java--集合
- Struts(9)结果和结果类型
- Test Spring el with ExpressionParser
- Struts(8)拦截器
- 使用Java Servlet进行简单登录
- Spring MVC 教程,快速入门,深入分析
- Java-1-简介
- SpringMVC存取Session的两种方法
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
- Struts(7)Action动作
- Struts(6)配置文件
- MD5算法了解(JAVA实现)
- Java局部内部类和final变量
- Struts(5)简单实例HelloWorld
- NetBeans技巧
- java--栈和队列
- myeclipse2014安装反编译插件
- Struts1与Struts2的那些事