1,封装
//1,良好的封装能够减少耦合
//2,类内部的结构可以自由修改
//3,可以队成员进行更精确的控制
//4,隐藏信息,实现细节
//先将属性选择性的隐藏,然后将需要给他人调用的内容,提供getter setter当作入口,可以在getter,setter进行设置操作,确保属性安全
public class Dog {
String dogName = "无名氏";//狗名称
private int age = 0;//年龄(0-15)
char sex = '女';//性别
int health = 60;//健康值(0-100)默认60
public void setAge(int age) {
if (age < 0 || age > 15) {
System.out.println("狗狗的年龄不能小于0也不能大于15");
return;
}
this.age = age;
}
public int getAge() {
return age;
}
//狗狗类转化成字符串的方法
public String toString() {
return "狗狗的自白:我的名字是:" + dogName +
",我今年" + age + "岁了,我是一个" + sex +
"孩子,我的健康度是" + health;
}
}
2,关于导包
import java.util.*;
此时导入的是java.util包中所有的类
而不是
把整个java.util包导入
这两句话的区别就在于一个是只提到类,另一句把包下的包也提到了,但是导入*是只导入类,不导入包下的包的
3,访问修饰符
4,继承extends
public class Pet {
private int age = 0;
private char sex = '女';
private int heatlth = 60;
public int getAge() {
return age;
}
public void setAge(int age) {
if (age<0||age>15){
System.out.println("数据错误");
return;
}
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getHeatlth() {
return heatlth;
}
public void setHeatlth(int heatlth) {
this.heatlth = heatlth;
}
}
public class Cat extends Pet{
private String catName;
public String getCatName() {
return catName;
}
public void setCatName(String catName) {
this.catName = catName;
}
@Override
public String toString() {
return "Cat{" +
"catName='" + catName + '\'' +
"age="+getAge()+" , "+
"sex="+getSex()+" , "+
"health="+getHeatlth()+
'}';
}
}
使用继承的前提是会存在多个类,换句话说,如果你只需要一个类,那么就不需要使用继承,多个类使用继承的前提条件是这些类均存在一些相同的东西(属性,方法),为了使我们写的代码可以更好的复用(其实就是某种意义上的偷懒)我们会将这些相同的东西(属性,方法)进行提取,封装成一个超类(父类)让子类去继承他
5,super关键字
super关键字在构造器中使用
public class Cat extends Pet{
private String catName = "无名氏";
public Cat(){