Java 基础知识点学习(一)

1. Java面向对象基本概念 - 引用

  • java 语言中除基本类型之外的变量类型都称之为引用类型。

  • java中的对象通常通过引用其操作的。

    //声明了一个String类型的引用变量,但是并没有指向对象
    String  s;
    //使用new语句创建一个String类型的对象,并用s指向他,以后可以通过s完成对其操作
     s = new String("hello world");
    

2.如何区分类和对象

  • 类是静态的概念
  • 对象是new出来的,位于堆内存,类的每个成员变量在不同的 对象中都有不同的值,而方法只有一份,执行时才占用。

3.递归调用

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368。

公式: f1= 1,f2=1. fn=f(n-1)+f(n-2)

这个数列从第3项开始,每一项都等于前两项之和。

   public static int testFibonacci(int n) {
        if (n == 1 || n == 2) {
            return 1;
        }else {
            return test3(n-1) + test3(n-2);
        }
    }

递归调用示例图:

1556332700135

4.方法重载

方法的重载是指一个类中可以定义相同的名字,但是参数不同的多个方法。调用时,会根据不同的参数选择对应的方法。

示例:

public class Demo{
    void info(){
        System.out.println("hello world");
    }
    void info(String t){
         System.out.println("hello"+ t);

    }
    
    public static void main(String args[]){
        Demo d = new Demo();
        d.info();
        d.info("smallmartial");
    }
}

5.this关键字

  • 在类的方法定义中使用this关键字代表使用该方法的对象的引用。
  • 当必须指出使用当前使用方法的对象是谁时要使用this
  • 有时可以用this处理方法中的成员变量和参数的重名
  • this可以看作是一个变量,他的值是当前对象的引用
public class Leaf{
    int i = 0;
    Leaf(int i){
        this.i = i ;
    }
    Leaf increament(){
        i++;
        return this;
    }
    void print(){
       System.out.println("i"+ i);
    }
    
    public static void main(String args[]){
    	Leaf leaf = new Leaf(100);
        leaf.increament().increament().print();
    }    
}
//result: 102

6.static关键字

  • 在类中,用static声明的成员变量为静态成员方法变量,它为该类的公用变量,在第一使用时被初始化,对于该类的对象,static成员变量只用一份。
  • 用static 声明的方法为静态方法,在调用时,不会将对象的引用传递给它,所以在static方法中不可以访问非static方法。
  • 可以通过对象引用或者类名,访问静态成员。

7.类的继承

  • Java通过 extends关键字实现类的继承

  • 通过继承子类自动拥有基类的所有成员变量

  • java只支持单继承,不允许多继承。

  • 一个子类只能有一个基类,一个基类可以派生多个子类

    父类

public class Animal { 
    private String name;  
    private int id; 
    public Animal(String myName, int myid) { 
        name = myName; 
        id = myid;
    } 
    public void eat(){ 
        System.out.println(name+"正在吃"); 
    }
    public void sleep(){
        System.out.println(name+"正在睡");
    }
    public void introduction() { 
        System.out.println("大家好!我是"         + id + "号" + name + "."); 
    } 
}

子类

public class Penguin extends Animal { 
    public Penguin(String myName, int myid) { 
        super(myName, myid); 
    } 
}

public class Mouse extends Animal { 
    public Mouse(String myName, int myid) { 
        super(myName, myid); 
    } 
}

8.访问控制

1556367386217

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值