栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础2

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础2

1.面向对象
特点:
1:将复杂的事情简单化。
2:面向对象将以前的过程中的执行者,变成了指挥者。
3:面向对象这种思想是符合现在人们思考习惯的一种思想。

匿名对象


class objectDemo2{
    private long pid=123456789;
    public objectDemo2(){
        System.out.println("Person()");
    }
    public objectDemo2(long pid){
        System.out.println("Person(long pid)");
        System.out.println("在使用传进来的pid赋值前:pid:"+this.pid);
        this.pid = pid;
        System.out.println("在使用传进来的pid赋值后:pid:"+this.pid);
    }
}
public class objectDemo extends objectDemo2{   //extends 实现继承关系
    private String name;
    private int age=0;
    public objectDemo(){
        System.out.println("Student()");
    }
    public objectDemo(long pid, String name, int age){
        super(pid);         //调用父类的构造函数一定要写在最前面不然会报错
        System.out.println("Student(long pid, String name, int age)");
        this.name = name;
        this.age = age;
    }
    public String getName(){
        return name;
    }
    public static void main(String[] args){
        objectDemo stu1 = new objectDemo();
        objectDemo stu2 = new objectDemo(123456,"Sakura",20);

        //没有栈指向的对象就叫做匿名对象。
        System.out.println(new objectDemo(123456,"Sakura",20).getName());
    }
}

成员变量和局部变量的区别:
1:成员变量直接定义在类中。局部变量定义在方法中,参数上,语句中。
2:成员变量在这个类中有效。局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

构造函数:
用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种。
该函数的名称和所在类的名称相同。
不需要定义返回值类型。
该函数没有具体的返回值。

构造函数和一般函数区别:
两个函数定义格式不同。
构造函数是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。
一般函数,是对象创建后,需要调用才执行,可以被调用多次。

面向对象特征:封装,继承,多态
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:将变化隔离;便于使用;提高重用性;安全性。
继承:java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。
好处:提高了代码的复用性。让类与类之间产生了关系,提供了另一个特征多态的前提。

不支持多继承的原因:
因为当一个类同时继承两个父类时,两个父类中有相同的功能,那么子类对象调用该功能时,运行哪一个呢?因为父类中的方法中存在方法体。
但是java支持多重继承。A继承B B继承C C继承D。

final特点:
1.这个关键字是一个修饰符,可以修饰类,方法,变量。
2.被final修饰的类是一个最终类,不可以被继承。
3.被final修饰的方法是一个最终方法,不可以被覆盖。
4.被final修饰的变量是一个常量,只能赋值一次。

抽象类: abstract


public abstract class abstract_Shape{
    //初始化块
    {
        System.out.println("执行Shape的初始化块");
    }
    private String color;
    public abstract double calPerimeter();
    public abstract_Shape(){ }
    public abstract_Shape(String color){
        System.out.println("执行Shape构造器");
        this.color=color;
    }
    public void setColor(String color){
        this.color=color;
    }
    public String getColor(String color){
        return color;
    }
}
class abstract_Shape2 extends abstract_Shape{
    private double a;
    private double b;
    private double c;
    public abstract_Shape2(String color,double a,double b,double c){
        super(color);
        this.setSide(a,b,c);
    }
    public void setSide(double a,double b,double c){
        if(a>=b+c||b>=a+c||c>=a+b){
            System.out.println("三角形两边之和需要大于第三边");
            return;
        }
        this.a=a;
        this.b=b;
        this.c=c;
    }
    @Override
    public double calPerimeter(){
        return a+b+c;
    }
    public static void mian(String[] args){
        abstract_Shape s1=new abstract_Shape2("黑色",3,4,5);
        System.out.println(s1.calPerimeter());
    }
}

    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号