Java面向对象的学习(二)“个人学习笔记”

1、类与对象的小结

1、类与对象
类是一个模板:抽象,对象是一个具体的实例
2、方法
定义、调用!
3、对象的引用
引用类型: 基本类型(八种)
对象是通过引用来操作的:栈—>堆
4、属性:字段Fileld 成员变量char: u000O boolean: fales 引用: null默认初始化: 数字0 0.0修饰符 属性类型 属性名= 属性值!5、对象的创建和使用
必须使用new 关键字 创建对象,构造器 Person ginweimin = new Person ();对象的属性 ginweimin.name
对象的方法 ginweimin.dashuaige ()6、类:静态的属性 属性
动态的行为 方法
封装、 继承、多态

2、封装的详解

调用Student类的方法

public class Application {
    public static void main(String[] args) {
        Student s1 = new Student();
        Student s2 = new Student();
        s1.setName("qinweimin");
        System.out.println(s1.getName());
        s1.setAge(70);
        s2.setAge(130);
        System.out.println(s1.getAge());
        System.out.println(s2.getAge());

    }
}

对Student类的属性进行私有

public class Student {
//属性私有
    private String name;
    private int age;
    //提供一些可以操作这个属性的方法!
    //提供一些public的get、set方法
    //get获得 这个数据
    public String  getName(){
        return this.name;
    }
    //set给这个数据设置值
    public void setName(String name){
        this.name=name;
    }
    public int getAge(){
        return this.age;
    }
    public void setAge(int age){
        if (age>120 || age<0){
            this.age=3;
        }else{
            this.age=age;
        }
    }
}

封装的作用及特点
1、提高程序的安全性。保护数据
2、隐藏代码的实现细节
3、统一接口
4、系统维护性增加了

3、什么是继承

调用子类的方法
继承与实际上的父子关系类似
子类可以调用父类的方法
子类继承了父亲,就会拥有父类的全部方法

public class Application {
    public static void main(String[] args) {
        Student student = new Student();
        student.say();
        System.out.println(student.money);
    }
}

Student类,是Person的子类
用extends来进行划分子类

package oop.demo05;
//学生 is 人
//子类继承了父亲,就会拥有父类的全部方法
public class Student extends Person {
}

Person类
私有的东西无法被继承!

package oop.demo05;
//人
public class Person {
    public int money=10_0000_0000;
    public void say(){
        System.out.println("覃为民嘎嘎帅");
    }
}

输出结果
在这里插入图片描述

4、多态

import oop.demo06.Person;
import oop.demo06.Student;

public class Application {
    public static void main(String[] args) {
//一个对象的实际类型是确定的
        //new Student();
        //new Person();
        //可以指的向的类型就不确定了:父类的引用指向子类
        //student能调用的方法都是自己的或者继承父类的!
        Student s1 = new Student();
        //Person 父类型,可以指向子类,但不能调用子类独有的方法
        Person s2 = new Student();
        Object s3 = new Student();
        //对象能执行哪些方法,主要看左边的类型,和右边关系不大
        ((Student) s2).eat();
s2.run();
    }
}

Person类,Student的父类

public class Person {
    public void run() {
        System.out.println("run");
    }

}

Student类,Person的子类

import org.omg.CORBA.PUBLIC_MEMBER;

public class Student extends Person {
    public void run(){
        System.out.println("G");
    }
    public void eat(){
        System.out.println("A");
    }
}

多态注意事项:
1、多态是方法的多态,属性没有多态
2、父类和子类,有联系 类型转换异常! CLassCastException !
3、存在条件:继承关系,方法需要重写,父类引用指向子类对象!
eg:Father f1 = new Son(),
1. static 万法,属子类,它不属于实例
2.final 常量:
3.private方法:

@Override

@Override和注释一样,注解不影响程序逻辑
但注解可以被编译或运行,相当于嵌入在代码中的补充信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值