-
定义类的步骤
查看全部 -
类与对象的关系
查看全部 -
类是不存在的,是模子,属性是对象具有的各种特征,方法,对象执行的操作
查看全部 -
java 访问修饰符
查看全部 -
包名一定全小写
查看全部 -
面向对象三大特性:封装,继承,多态
有点:通过规定方法访问 隐藏类的实例细节,便于修改实现
查看全部 -
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
查看全部 -
public int a = 100; 动态变量
public static int a =100; 静态变量
查看全部 -
静态变量的访问
查看全部 -
setter和getter方法分开的目的就是作用不同
setter是用户或者其他程序员对你这个类里面的数据进行输入,这个时候是需要有参但不需要返回值,
getter是用户或者其他程序员调用你这个类里的属性值,需要返回值不需要参数,如果说合在一起,有参有返回值,
那当别人想要调用你这个类里的属性还要给一个参数进去,显然是不合理的,
而当别需要存入一个值的时候,一般也是不需要有返回值的,但是你还返回一个值,显然是多余的,所以不会把这两个写在一个方法里,这也不合理,看下面的例子
1234567 public
class
Demo{
private
int
a;
public
int
setGet(
int
a){
int
i = a;
return
i;
}
}
很显然,上面的代码返回值就是用户输入的值,既不能做到存储数据,也无法做到读取原来的数据,如果加入各种判断,那显然是更加的复杂化了,所以,setter和getter语句不合在一起,而是分开写。
查看全部 -
严谨点,new后面跟构造方法,而不是类
构造方法:用来初始化对象的方法
方法名和类名一致;没有返回值
public 方法名(指定参数){}
查看全部 -
默认成员变量是0
成员变量有初始值
局部变量无初始值
同一个局部变量名不能重复
不同方法可以用同一个局部变量名
就近原则,成员变量和局部变量同名,局部变量优先级高
查看全部 -
定义int方法要有返回值,所以要用return,定义void方法可以用sum=score1+score2
查看全部 -
:静态方法可以直接访问同类中的静态成员,但不能访问非静态成员(和非静态方法);而普通成员方法即可访问静态成员也可访问非静态方法。如果静态方法想要访问非静态成员和非静态方法,则需要创建类的对象,通过对象即可访问。
查看全部 -
只有在静态(static)方法调用非静态方法或变量才需要实例化类。
这个练习两个变量全是静态,两个方法也是静态用不到实例化类。
HelloWorld world=new HelloWorld();去掉
123456789101112131415 public
class
HelloWorld {
// 定义静态变量score1
static
int
score1 =
86
;
// 定义静态变量score2
static
int
score2 =
92
;
// 定义静态方法sum,计算成绩总分,并返回总分
public
static
int
sum() {
return
score1+score2;
}
public
static
void
main(String[] args) {
int
allScore =sum();
System.out.println(
"总分:"
+ allScore);
}
}
如果你要尝试静态方法调用非静态变量可以这样
123456789101112131415 public
class
Helloworld{
// 定义静态变量score1
static
int
score1 =
86
;
// 非静态变量score2
int
score2 =
92
;
// 非静态方法sum,计算成绩总分,并返回总分
public
int
sum() {
return
score1 + score2;
}
public
static
void
main(String[] args) {
Heloworld hello =
new
Helloworld();
int
allScore = hello.sum();
System.out.println(
"总分:"
+ allScore);
}
}
查看全部
举报