private关键字
使用【private】修饰的私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供
公有方法,包括用于获取属性值的【getXxx()】方法和设置属性值的 【setXxx()】方法。set和get方法
都属于实例方法,不能带有static,实例方法的调用必须先【new】对象。使用 "引用."的方式调用。
get方法要求:
public 返回值类型 get+属性名首字母大写(无参) {
return xxx;
}
set方法要求:
public void set+属性名首字母大写(参数) {
xxx = 参数;
}
符合JavaBean规范的类封装过程
在Java中符合JavaBean规范的类封装的要求:
1.所有的成员变量都要私有化 ==> 使用"private"修饰
2.必须显式提供一个无参数的构造方法
3.要求给使用private修饰的成员变量提供对应的操作方法 ==> Setter Getter
public class Application {
public static void main(String[] args) {
Person person = new Person();
//person.setAge(-19); // 对年龄判断,不合法
person.setAge(19);
person.speak();
}
}
==================================
//Person类
public class Person {
//属性私有封装,get/set
private int age; //年龄
//无参构造方法
public Person() {
}
//有参构造方法
public Person(int age) {
this.age = age;
}
//set和get方法
public int getAge() {
return age;
}
public void setAge(int age) {
//设立关卡
if (age > 120 || age < 0) {
System.out.println("您输入的年龄不正确!");
}else {
this.age = age;
}
}
public void speak() {
System.out.println("年龄:" + age + "岁了!");
}
}
多类合作
在开发中,除了基本数据类型,大多数情况下,都是类对象操作数据,所以类可以作为
1.方法的参数
2.类定义时自定义类型作为成员变量数据类型
匿名对象
匿名对象:
new 构造方法(必要的参数);
匿名对象的参数:
1.使用匿名对象直接调用类内的成员方法
2.匿名对象直接作为方法的参数
注意:
使用匿名对象不要操作成员变量,有可能有去无回
继承
在Java中,类的继承是类与类之间的关系,一个类为子类(也叫派生类),另一个类为父类(也叫基类),子类
继承父类,子类会自动拥有父类除构造方法以外的所有属性和方法,私有的也是可以继承的,只是子类
无法直接访问父类的私有属性。使用关键字 extends 表示继承
类与类之间继承的格式:
class 子类名 extends 父类名 {
//程序代码
}
注意事项:
1.在Java中,类只支持单继承,也就是说一个类只能有一个直接父类
2.多个类可以继承同一个父类
3.允许多层继承,就是一个类的父类可以再去继承另外的父类
4.子类和父类是一种相对概念,就是说一个类是某个类父类的同时也可以是另一个类的子类
5.Java中规定,子类继承父类,除构造方法不能继承外,其他都可以继承,但是私有的属性无法在子
类中直接访问
6.Java中的类没有显式的继承任何类,就默认的继承Object类,Object类是所有类的超类
继承内存分析图
动物之间的继承案例
//定义一个动物类
public class Animal {
String name;
public void shout() {
System.out.println("动物在叫");
}
}
==============================
//定义一个 Dog类 继承 Animal类
public class Dog extends Animal {
//定义一个打印名字的方法
public void printName() {
System.out.println("名字是:" + name);
}
}
==============================
//主方法
public class Application {
public static void main(String[] args) {
Dog dog = new Dog(); //实例化对象
dog.name = "二哈"; //赋值
dog.printName(); //调用dog对象的printName()方法
dog.shout(); //调用从Dog类继承下来的shout()方法
}
}
方法重写
在继承关系中,子类会自动继承父类中的方法,有时因为继承的方法无法满足子类的具体需求,会对
从父类继承来的方法进行修改,也就是方法【重写】。子类中重写的方法需要和父类被重写的方法具
有相同的方法名,参数列表以及返回值类型。子类重写父类方法时,不能使用比父类中被重写的方法
更严格的访问权限。
方法重写注意事项:
1.两个类必须要有继承关系
2.方法名必须相同
3.参数列表必须相同
4.子类重写父类方法时,不能使用比父类更严格的访问权限
5.子类不能抛出比父类更大的异常
class Animal {
public void shout() {
System.out.println("动物发出叫声");
}
}
===============================
//Dog类继承Animal类
class Dog extends Animal {
//重写从父类继承来的方法
@Override
public void shout() {
System.out.println("汪汪......");
}
}
===============================
//主方法
public class Application {
public static void main(String[] args) {
Dog dog = new Dog();//创建Dog类的实例对象
dog.shout();//调用Dog类重写的shout()方法
}
}

本文暂时没有评论,来添加一个吧(●'◡'●)