Java面向对象程序设计三大重要特征:
Java面向对象程序设计三大重要特征
1)封装:
将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
2)继承extends:
指的是继承父类所以的非私有的属性和方法
语法:
-
[修饰符] class 子类名 [extends 父类名]{//类定义部分}
3)多态
多态又分为重载和重写
一. 重载:方法的重载,指的是同一个类中,可以有多个相同的方法名,但这些方法的参数必须不同
例如:
class math {
public int add(int a,int b) {
return a+b;
}
public double add(int a,double b) {
return a+b;
}
public double add(double a,double b) {
return a+b;
}
}
运行这个程序后可以将各类型的数字相加,大大减少了代码量,可以按照参数自动配数字类型。
同一个类中方法名相同,参数列表不同
返回值类型不能用于区分方法的重载
二.重写:
子类与父类之间,方法名与参数相同,代码不同
例如:
public class People{
String name;
String sex;
int age;
public void talk(){
System.out.println("我是男孩");
}
}
class Boy extends People{
public void talk() {
//代码块;
}
}
2instanceof 运算符
a instanceof B 判断对象a是不是由B类创建的,如果条件成立,则返回true,否则返回false
例如
public class People {
String name;
String sex;
int age;
public void talk() {
System.out.println("我是男孩");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
People p = new Boy();
if (p instanceof Boy) {
Boy b = (Boy)p;
b.talk();
}else {
p.talk();
}
}
}
class Boy extends People{
public void talk() {
}
}
3包是什么:
包相当于文件夹,把不同类型的文档归类,分别放到不同的文件夹中
语法:package <包名>;
声明一个包的语句必须放在类中的第一行