• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

day2

开发技术 开发技术 4小时前 1次浏览

Day2

进度

又是小半天的学习,原本准备快速入门的,但假期,还是多快乐快乐吧。今天是把面向对象看完了,因为我有学习c++面向对象的经历,所以,学起来还算比较自在。

感受与思考

1.java的可变参数,是第一次看到这种用法。在之前的语言学习中都没见过。(int …i),个人的感觉像是将参数换成了一个vector数组之类的东西,而且这个i确实也是当数组用的。里面的值也能更改。

day2

2.java的面向对象跟c++++基本是相同的,毕竟面向对象就是一种思想。java的访问权限也与c++相同。不过不同的是,它的关键字(public等)只能用来修饰一个变量/方法。

//java
public class Student{
  private int age;
  private String name;
}
//c++
public class Student{
  private:
    int age;
    string name;
}

3.继承肯定是要提到的,java只能单继承,用的是关键字extends。

package Demo;

class p1{
    private String name;
    private int age;
    public p1(String name1,int age1){
        name=name1;
        age=age1;
    }
    public void Print(){
        System.out.println(name);
        System.out.println(age);
    }
}

class p2 extends p1{
    private int money;
    public p2(String name1, int age1,int money1) {
        super(name1, age1);
        money=money1;
    }
    public void get(){
        super.Print();
        System.out.println(money);
    }
}
public class Demo5 {

    public static void main(String[] args) {
        p2 p22 = new p2("张三",18,1000);
        p22.get();
    }
}

super

super只会以super./super(…)的形式出现,一个是调用父类的方法,一个是父类的构造函数。第二个肯定是会有的,因为毕竟是从父类继承来的。如果之前学了this指针(当然,java没有指针),应该很好理解。this是当前类,那么super就是父类。这多写几遍就行。

方法重写

静态方法:只和左边定义的数据类型有关
非静态:重写

//静态
package Demo;

class p3{
    public static void text(){
        System.out.println("执行p3");
    }
}

class p4 extends p3{
    public static void text(){
        System.out.println("执行p4");
    }
}

public class Overwrite {
    public static void main(String[] args) {
        p3 a = new p4();
        p4 b = new p4();
        a.text();
        b.text();
    }
}

//非静态
//把static不写就行

多态

c++的面向对象不同,c++是用虚函数来实现多态,java好像是用静态方法(不知道是不是对的,如果是错的,还请指正)

package Demo;

class father{
    public static void test(){
        System.out.println("father");
    }
}

class son extends father{
    public static void test(){
        System.out.println("son");
    }
    public  void test2(){
        System.out.println("lalala");
    }
}

public class Demo6 {
    public static void main(String[] args) {
        father p1 = new son();
        son p2 = new son();
        p1.test();
        p2.test();
        ((son) p1).test2();//强制类型转换
    }
}

小结

如果说c/c++写的是一个个cpp文件,那么java中所需要写的就是一个个类,这点很不一样。学起来还是比较容易上手
今天也没完全学完,还剩了点尾巴,准备找时间结尾,应该是在这篇随笔后了,所以就不记录了。


程序员灯塔
转载请注明原文链接:day2
喜欢 (0)