课程关键词:长沙JAVA程序设计培训学费多少
Java中在类、类的属性以及类的方法前面加修饰符可限定其访问权限,实现其在一定范围内的信息隐藏。共有四种情况:private、 缺省、 protected、public。为了验证这四种情况,对代码的影响,设计了如下的工程。
2.工程中涉及的Java源文件如下:
1)包**.jicheng下的父类Animal的代码如下:
//------------animal.java---------------
package **.jicheng;
public class Animal {
public String name = "猫";
public int age = 2;
public void eat() {
System.out.println("动物都要吃东西....age=" + age);//1.本类方法
}
}
2)包**.jicheng下的Animal的子类Cat的代码如下:
//---------------cat.java---------------
package **.jicheng;
public class Cat extends Animal{
public void show() {
System.out.println("Cat show() name=" + name );
System.out.println("Cat show() age=" + age );//3.同包下的子类方法
}
}
3)包**.jicheng下的main函数代码如下:
//-----------Demo.java------------
package **.jicheng;
public class Demo {
public static void main(String[] args) {
Animal animal = new Animal();
System.out.println("Animal animal " + animal.age);//2.本类对象
Cat cat = new Cat();
cat.show();
System.out.println("Cat cat age=" + cat.age );//4.同包下的子类对象
}
}
4)另外一个包**.dog下的Animal的子类Dog的代码如下:
//-----------------dog.java-----------------
package **.dog;
import **.jicheng.Animal;
public class Dog extends Animal{
public void show() {
name = "狗";
System.out.println("**.dog Dog show :name=" + name);
System.out.println("**.dog age show :age=" + age); //5.不同包下的子类方法
}
}
5)另外一个包**.dog下的main函数的代码如下:
//-------------demo.java---------------
package **.dog;
public class Demo {
public static void main(String[] args) {
Dog dog = new Dog();
System.out.println("**.dog Dog dog :age=" + dog.age); //6.不同包下的子类对象
dog.show();
}
}
验证过程:重点观察包**.jicheng下Animal类的age方法,改变其权限,观察上面代码中的1~6句编译效果。
结论:
private被称为类访问修饰符,只有本类内的方法可以访问;
default被称为包访问修饰符,同包下子类的方法及同包下子类的对象都可以访问;
protected被称为子类访问修饰符,不同包下的子类的方法可以访问,但不同包下的子类的对象不可以访问;
public被称为公有访问修饰符,都可以访问。
备注:类中的protected成员,在 类外(比如main函数)声明类对象,可以访问,这点和C++不同;default是表示一种不加任何修饰符时的状态,和C++不同(C++中默认为私有)。
更多培训课程,学习资讯,课程优惠等学校信息,请进入 长沙芙蓉区嵌入式培训长沙天心区嵌入式培训 网站详细了解,免费咨询电话:400-998-6158