Java学习日记2-基础

一 方法

相当于C语言里的函数

package Method;

public class Demo01 {
    //main方法
    public static void main(String[] args) {
      int add = add(1,2);
        System.out.println(add);
    }
    public static int add(int a,int b){
        return a+b;

    }
    public static int max(int num1,int num2){
        int result = 0;
        if(num1==num2 ){
            System.out.println("相等");
            return 0; //  终止方法
        }
        if(num1>num2 ){

            result = num1;
        }
        if(num1<num2 ){

            result = num2;
        }
        return result;
    }

}

方法的重载 

 

递归算法 

package Method;

//递归,自己调用自己
// 应为Java是栈机制的,所以递归的算法会消耗大量的内存(调用次数多),代码简单但难为电脑,所以不建议使用
public class Demo03 {
    public static void main(String[] args) {
        System.out.println(f(5));

    }
    public static int f (int n){
        if(n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }

}

 二 数组

1.数组都是相同类型的有序集合

2.按照一定的恶先后顺序有序排列组合而成

3.数组里的被一个数据作为一个数组元素,可以通过他们的下标来访问他们。

数组的创建

三 类与对象

首先面向对象:以类的方式组织代码,以对象去组织封装数据。

三大特性:继承  封装   多态

我理解的类与对象的的意思是:如果世界看成一个类,那人就是其中一个对象。

类与对象的创建

package oop;
// Demo01 就是一个类
public class Demo01 {
    public static void main(String[] args) {
        // 调用非静态类的时候需要new来实例化,而静态类就不需要
        Demo02 demo02 = new Demo02();
        demo02.say();

        Demo02.nosay();
    }

}


=======================================================
package oop;

public class Demo02 {
    //非静态类方法
    public  void say(){
        System.out.println("学生说话");
    }
    // 静态类
    public static void nosay(){
        System.out.println("我们没有说话");
    }
}
==================================================结果 学生说话
                                                       我们没有说话

类的构造器

构造器其实是构造方法,有以下两个条件:
1.必须和类的名字相同

2.必须没有返回值类型,也不能写void

package oop;

public class Person {
     String name;
    //构造器的创建
    public Person() {
    }

    // 一旦定义了有参构造,无参就必须显现出来
    public Person(String name) {

        this.name = name;
    }
}


==================================

package oop;

public class Demo05 {
    public static void main(String[] args) {
        Person person = new Person("caw");
        System.out.println(person.name);


    }
}


======================结果:caw

封装

 通常,应禁止直接访问对象中数据的实际表示,应该通过接口来访问,称为信息的隐藏。

属性私有:get/set


package oop;

//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {

        student s = new student();
        s.setName("caw");
        System.out.println(s.getName());
    }
}
===========================================



package oop;

public class student {
    private String  name;
    private int id;
    private char sex;


    //属性私有的情况需要设置get和set方法
    public String getName(){
        return this.name;
    }
    public void setName(String name){
        this.name = name;
    }

}
======================================结果 caw

继承 

 继承的意思是类与类之间的一种关系,继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。

注意:Java中类只有单继承没有多继承,意思就是爸爸可以有多个儿子,但儿子只能有一个爸爸

子类继承了父类的方法和属性 

package oop.jicheng;

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

    }
}

============================================
父类
package oop.jicheng;

//java中所有的类,都默认继承objec
public class person {
    int money = 100;
    private int  mone = 10;
    public void setMoney(int mone) {
        this.mone = mone;
    }

    public int getMone() {
        return mone;
    }


    public void say(){
        System.out.println("说了一句话");
    }
}
==============================================
子类
package oop.jicheng;



//子类继承父类,就会拥有父类的所有方法
public class student extends person{


}
======================================

说了一句话
100
10

 super和this的使用

this指向本类的属性和方法,super指向父类的属性和方法。

package oop.jicheng2;

public class Application {
    public static void main(String[] args) {
        student student = new student();
        student.test("cao");
        student.test1();
    }
}
=======================================
package oop.jicheng2;


// 私有属性不可被继承
public class person {
    protected String name = "czw";
    public void print(){
        System.out.println("person");
    }
}
/*
super 的注意点
super调用父类的构造方法,必须在第一行
super 必须只能出现在子类的方法或者构造方法中
this的注意

this 调用本身对象   没有继承也可以使用  本类的构造
super 代表父类对象应用  只能在继承条件下使用  父类的构造


 */
==============================================
package oop.jicheng2;

public class student extends person {
    private String name = "huangcheng";


    public void test(String name){
        System.out.println(name);
        System.out.println(this.name);
        System.out.println(super.name);

    }
    public void print(){
        System.out.println("student");
    }
    public void test1(){
        print();
        this.print();
        super.print();
    }

}


===================================================
cao
huang
czw
student
student
person

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值