1、面向对象
1.1类1.2 对象1.3 类的成员(属性、方法、构造器) 2、java的三大特性
2.1 封装2.2 继承2.3 多态
1、面向对象
面向对象的定义:面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式
面向对象和面向过程的区别:
面向对象是相对于面向过程的,面向过程是强调的功能行为,现象对象是将功能封装进对象,强调的是具备功能的对象
面向对象的三大特点: 封装、继承、多态
1.1类类和对象的概念:类是具有相同特性的的实物的抽象描述,类是抽象的,概念性的, 可以理解为汽车设计图纸就是类,而实际的汽车就是我们类的实例,具体的对象 , 对象是实实在在存在的具体事物,万事万物皆对象
//类的定义
修饰符 class 类名{
类的属性声明
类的方法声明
}
注意:
1、修饰符有4种---public protected 缺省 private,访问权限由大到小
2、class 必须要写
3、类名每个单词的首字母要大写
1.2 对象
使用new +构造器创建一个新的对象;
使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)
类的属性和方法
public class Student{
public String name = "哈里波特";//公共的名字属性
private int age = 28;//私有的年龄属性
protected char gender;
double weight;
}
类的构造器
public class Student{
private String name;
private int age;
//Student类的无参构造--自己定义了系统就不在提供
public Student(){
}
//Student类的有参构造
public Student(String name){//参数列表为name
this.name = name ;
}
public Student(String name int age){//参数列表为name和age
this.name = name;
this.age = age ;
}
}
2、java的三大特性
2.1 封装
类的封装
public class Student{
private String name = "江小白";//学生的姓名
private int age = 18;//学生的年龄
//student具有的方法
public void study(){
System.out.println("学生在努力的学习");
}
//构造器
public Student(){
}
public Student(String name,int age ){
this.name = name;
this.age = age;
}
//公共的get/set方法
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
}
calss Test{//测试类
public static void main(String[] args){
Student student = new Student();//创建学生对象
student.getName();//通过对象点get/set方法来获取和修改student的属性的值
student.setAge(18);
student.show();//通过对象点方法来调用学生类具有的方法
}
}
2.2 继承
类的继承
public class TestExtends{
class person{//人类-----父类
private String name = "哈利波特";
private int age = 20;
//人的方法
public void eat(){
System.out.println("人都喜欢干饭");
}
//无参构造器
public person(){
}
//有参构造器
public person(String name,int age){
this.name = name;
this.age = age;
}
//get/set方法
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
}
//创建一个学生类继承人类------继承关键字extends
class Student extends Person{
private int no;//学号
public student(){
}
public student(int age){
this.age = age;
}
public int getNo(){
return no;
}
public void setNo(int no){
this.no = no;
}
}
}
//创建一个测试类来进行测试
public class Test{
public static void main(Sring[] args){
Student st = new Student();
st.getName();
st.setAge(19);
st.getNo();
st.eat()
}
}
2.3 多态
多态定义及使用
public class TestPolymorphic{
class person{
private String name;
private int age;
public void run(){
System.out.println("每个人都可以跑步");
}
}
class Adult extends Person{
public void run(){//子类重写父类的方法
System.out.println("成年人跑的快");
}
}
class Children extends Person{
public void run(){//子类重写父类的方法
System.out.print("小孩子跑的慢")
}
}
}
//创建测试类
public class Test{
public static void main(String[] args){
Person p = new Adult();//父类类型指向子类对象
p.run();//父类类型调用父类的方法,但执行的是子类重写的父类的方法
Person p1 = new Children();
p1.run();
}
}



