类是一张设计图,创造各种各样的实体。例如小熊饼干,站着的坐着的,做出饼干的模型就是类。吃到嘴里的饼干就是类所创造的对象。
一。类的特性
1.成员变量:JAVA中类的属性。例如鸟类:翅膀,爪子,喙,羽毛。包含任何鸟类特征。这些特征就是属性,这些就是鸟类的成员变量。
public class Bird{
String wing;claw;beak;feather;
}
2成员方法:JAVA中的行为。例如:猎豹凝视,奔跑,吃,睡
public class Leopard{
public void gaze(Sting target){} / run /eat(String meat) / sleep
}
3.局部变量:成员方法内定义变量,在方法内被执行时创建,在方法执行结束时被销毁。使用时必须初始化或者赋值,否则编译错。
报错信息:The local variable id may not have been initialized
public class Mytest {
String name;
public void getName(){
int id=0;
System.out.println(id+name);
}
public static void main(String[] args) {
Mytest test= new Mytest();
test.getName();
}
}
上述输出结果是0null,因为name是成员变量,没有初始化,但是不会报错。
局部变量有效范围:称为变量的作用域,从该变量声明到该变量的结束。两个不嵌套区域可以定义同名,同类型的局部变量
4.this用法:代表类本身的对象
public class Book {
String name = "abc";/*成员变量*/
public void showName(String name){/*成员方法,方法中的参数与上面定义的成员变量名字相同*/
System.out.println(this.name);
}
public static void main(String[] args) {
Book b=new Book();/*b类的对象*/
b.showName("123");
}
}
上述输出的是'abc'
如果没有this,而是System.out.println(name),输出是‘123’,name方法中调用的是参数中的name(123),而不是成员变量(abc)
6.权限修饰符
private 本类可见
protected 本类/同包其他类或子类 可见
public都可见
public class Book {
String name = "abc‘’;
private void showName(String name){
System.out.println(this.name);
}
public static void main(String[] args) {
Book b=new Book();/*b类的对象*/
b.showName("123");
}
}
上述如果book类的showName方法定义了private,不能被其他类调用。
public class MyTest2 {
public void mian() {
// TODO Auto-generated method stub
Book b=new Book();/*b类的对象*/
b.showName("123");
}
}