版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qjt19950610/article/details/82959470
一,类的封装是指在定义一个类时,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问。一般需要获取属性值的方法和设置属性值的方法来让外界访问私有属性。
package encapsulation;
class Student {
private String name;
private int age; // 将类的属性私有化
// 下面是公有的方法
public String getName() {
return name;
}
public void setName(String stuName) {
name = stuName;
}
public int getAge() { // 获取属性值
return age;
}
public void setAge(int stuAge) { // 设置属性值
if (stuAge <= 0) {
System.out.println("年龄不合法。。。。");
} else {
age = stuAge; // 对属性赋值
}
}
public void introduce() {
System.out.println("大家好,我叫" + name + ",我今年" + age + "岁!");
}
}
public class class_encapsulate {
public static void main(String[] args) {
Student stu = new Student(); // 创建学生对象
stu.setAge(-30);
stu.setName("李芳");
stu.introduce();
}
}
二、类的继承是指在一个现有类的基础上去构建一个新的类,新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。
package inherit;
class Animal{
String name;
//定义动物叫的方法
void shout(){
System.out.println("动物发出叫声");
}
}
//定义dog类继承animal类
class Dog extends Animal {
//定义一个打印name的方法
public void printName(){
System.out.println("name="+name);
}
}
public class Example1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog dog =new Dog(); //创建一个Dog类的实例对象
dog.name="沙皮狗"; //为Dog类的name属性进行赋值
dog.printName(); //调用Dog类的方法
dog.shout(); //调用Dog类继承的方法
}
}
三、在同一个方法中,这种由于参数不同而导致执行效果各异的现象就是多态。
package polymorphic;
//定义接口
interface Animal{
void shout();
}
//定义类实现接口
class Cat implements Animal{
public void shout(){
System.out.println("喵喵。。。。");
}
}
//定义另一个类实现接口
class Dog implements Animal{
public void shout(){
System.out.println("汪汪。。。。");
}
}
public class Example1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal an1=new Cat(); //创建Cat对象,使用Animal类型的an1引用
Animal an2=new Dog(); //创建Dog对象,使用Animal类型的an2引用
animalShout(an1); //调用 animalShout方法,将an1作为参数传入
animalShout(an2); //调用 animalShout方法,将an2作为参数传入
}
//定义静态的方法,接受一个Animal类型的参数
public static void animalShout(Animal an){
an.shout(); //调用实际参数的方法
}
}
欢迎博友来踩!