day5-Java类与对象
java编程 - 类与对象
Hello World示例
所有东西都在class里——class HelloWorld
main函数——在JAVA里称为 main方法(method)
新的关键字:public、static
println(方法)== C 的“printf”(函数)
class Helloworld
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
类
- ⚠️“类”名字都习惯首字母大写。
- 类的对象在运行时才产生。对象是类的范例,是类的描述。
Java数据类型
- “类”是JAVA最主要的数据类型,某个变量的数据结构也可能是class。
- 除了原始类型,如int、char、boolean、float,他们只是简单的生数据外,JAVA中其他所有东西都是class。
- 区分:这些原始类型都是纯小写的。
属性
每个类下面有许多数据域——属性。
class Counter
{
int count;
}
属性只在其所在的类中具有全局性。由于封装性,而非在整个程序中具有全局性。
方法
类下面的函数——方法。
class Counter
{
int count;
void increment(){
count++;
}
}
这些方法是依附于它所在类的。
⚠️调用方法的步骤:
Counter carCounter;
carCounter.increment();
- 生成类的一个范例。如变量
Counter carCounter,是一个对象,以类Counter为数据类型。 - 基于该类的特定范例——对象 之上,来调用方法,如
carCouner.increment();
Java方法&C函数区别
- 函数可以到处浮动,而方法被捆绑于特定对象上。//好处:是明确地对某个对象做事情,而不会搞错对象做事情。
- C中可以独立地调用某函数
printf("Hello"),而Java必须基于一个特定对象来调用方法。out.print("Hello");file.print("Hello");
构造方法
构造方法,是用于创建类的范例(即对象)的特殊函数方法。
构造方法的任务——就是初始化一个对象的内部状态。
- 构造函数的名字与类的名字一致。
- ⚠️构造函数没有返回类型!
class Counter
{
int count;
public Counter(){ //这里的Counter就是一个构造方法
count = 0;
}
}
Counter myCounter = new Counter();//类外可调用
-
public 表示:在类以外的区域也可以调用。对于构造函数,需要public使其在类外可被调用,初始化一个类的对象。
-
调用构造函数时,只要在前面加一个new即可调用。
多重构造方法
一个构造函数可以定义多种初始化构造方法。
public Counter(){
count = 0;//初始化为默认值的简单构造器
}
public Counter(int startValue){
count = startValue;//初始化为传参的复杂构造器
}
“重载” (Overloading) —— 定义相同名称的不同方法,通过输入参数的不同来区分这些方法,使其被调用时根据输入参数的不同,自动选择合适的方法执行。
区分同名的传参变量和属性
-
使用"this"来引用其所处于的对象。this也可以指向方法。
指明某变量究竟是该对象的变量,还是同一类下其他全局变量,避免混淆。
class Shape
{
int x;
int y;
void setPosition(int x, int y)//原为两对一样的x,y
{
this.x = x;//这里是把传参x,赋值给上面的x。
this.y = y;//这里的this.x指向class shape里的x。
}
}
-
也可以直接用不同的变量名区分。更加清晰。
class Shape { int x; int y; void setPosition(int xpos, int ypos) { x = xpos; y = ypos; } }
示例类
如,Java内部的字符串类String class,用于存储和操作文本。
该“字符串类”,内部有一个被分配于存储字符的数组,以及许多处理文本的方法。
String unitCode = new String("COMSM0103")
-
右侧是string构造函数,因为名字与类相同
-
new关键字,用于初始化新的对象
-
创建字符串快捷方式:
String unitCode = "COMSM0103"仅“字符串“类适用!因为创建字符串很常用。
-
substring( )方法,substring(5,7)从第5位开始到第7位结束,实际上只保留了5、6位。
三角形例
- main方法需要定义参数: public static void main (String[] args);
- main里的测试调用需要和Class里的一一对应;
- 用“+”并列符,可以将分开的字符串粘合到一起。即使类型不同,如
int型和String型
- 用“+”并列符,可以将分开的字符串粘合到一起。即使类型不同,如
浙公网安备 33010602011771号