JAVA基础学习

JAVA基础学习

本次主要记录的知识点有:

  1. 递归
    递归指的是,自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身,需要注意的有两点,一是递归必须要有出口,不能形成死循环,二是递归不易调用多次,容易造成栈内存溢出,而由于java不会提示栈溢出错误,所以多次调用递归在语法上是不会报错的,但是在实际的运算过程中,答案是错误的。
    递归:在Java中 在方法中调用方法本身的现象,我们称之为递归
    递归注意事项:
    1.递归要有出口,否则就是死递归 死递归会造成栈溢出
    2.递归的次数不宜过多,否则也会有栈溢出的风险
    生活中:学Java----找工作—挣钱—娶媳妇----生娃----学Java-----找工作—挣钱—娶媳妇
    递归体现的思想:体现的是一种拆分合并的思想
    以下为一个递归的例子:在这里插入代码片public class MyDemo {
    public static void main(String[] args) {
    show(5);
    }

    private static void show(int i) {
    //注意递归也要出口
    System.out.println(“递归”);
    if(i<0){
    return;
    }else{
    show(–i);
    }
    }

    死递归
    //private static void show() {
    // show();
    // // StackOverflowError 栈溢出
    //}
    }

  2. 面向对象的思想了解
    首先了解到,如C语言这种面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求的语言叫做面向过程的语言,而把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。即使面向对象编程,即JAVA。
    举例来说,C语言:洗衣服:脱下脏衣服->倒水->倒洗衣粉->搓->晾晒
    JAVA语言:洗衣服:把脏衣服扔进洗衣机

优势:a:是一种更符合我们思想习惯的思想
b:可以将复杂的事情简单化
c:将我们从执行者变成了指挥者
角色发生了转换
特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)

  1. 类与对象
    类是我们Java中最小的单位,他体现了一种封装的思想,封装了成员变量(属性)成员方法(功能)而类是一个抽象的概念,你不能直接使用,要使用该类,你的对类进行实例化,所谓实例化,就是创建该类对象,因为对象才是该类的一个具体表现
    例:`//class 类
    public class Student { //定义了一个学生类
    //定义成员变量
    String name = “张三”;
    int age = 23;
    char sex = ‘男’;

    //成员方法
    public void eat() {
    System.out.println(“吃饭”);
    }

    public void sleep() {
    System.out.println(“睡觉”);
    }

    public void palyGame() {
    System.out.println(“打豆豆”);
    }

}

创建对象:`Student s=new Student();
即创建了具体的学生s。

  1. 关键字的概述和特点
    1.private关键字:
    可以修饰成员变量,也可以修饰成员方法,被修饰的成员,只能在本类中访问,外界无法通过 对象.成员 去访问,即私有化。
    2.this关键字:
    表示本类属性、表示本类方法、当前对象
    调用类中的属性:this.属性;
    调用类中的方法:this.方法();
    调用类中的构造:this();
    3.public关键字:
    一个java文件中,在只能有一个public修饰的class,且该class名与文件名一致
    4.super关键字:
    调用父类的属性和方法

  2. 继承
    多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
    通过extends关键字可以实现类与类的继承
    class 子类名 extends 父类名 {}
    单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。
    继承的注意事项
    a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
    b:子类不能继承父类的构造方法,但是可以通过super(待会儿讲)关键字去访问父类构造方法。
    c:不要为了部分功能而去继承
    什么时候使用继承
    继承其实体现的是一种关系:“is a” .
    采用假设法。
    如果有两个类A,B。只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承。
    例:class Animal{
    String name;
    int age;
    void run() {
    System.out.println(“跑步”);
    }
    void eat() {
    System.out.println(“吃东西”);
    }
    }
    class cat extends Animal{
    void run() {
    System.out.println(“猫跑步”);
    }
    void eat() {
    super.eat();
    System.out.println(“吃的是鱼”);
    }
    }
    class dog extends Animal{
    void run(){
    System.out.println(“狗跑步”);

    }
    void eat() {
    super.eat();
    System.out.println(“吃的是骨头”);
    }
    }
    例中,Animal为父类,cat,dog为子类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值