首页 > 其他分享 >static总结,抽象

static总结,抽象

时间:2023-07-05 17:55:21浏览次数:27  
标签:总结 System 抽象 println static 抽象类 public out

static总结,抽象

static总结

package com.oop.demo07;
//static
public class Student {
    private static int age;//静态变量
    private double score;//非静态变量
    public void run(){

    }//非静态方法可以包含静态方法
    public static void go(){

    }//静态方法可以包含静态方法,但不能包含非静态方法
    public static void main(String[] args) {
        Student s1 = new Student();
        System.out.println(Student.age);//静态属性
        //System.out.println(Student.score);//非静态变量不能用类直接输出
        System.out.println(s1.age);
        System.out.println(s1.score);
        Student.go();
        new Student().run(); //非静态方法不能用类直接输出
    }
}

package com.oop.demo07;

public class Person {
    {
        System.out.println("匿名代码块");//可以赋初始值
    }
    static {
        System.out.println("静态代码块");
    }

    public Person() {
        System.out.println("构造方法");
    }

    public static void main(String[] args) {
        Person person = new Person();//静态代码块
                                     //匿名代码块
                                     //构造方法
        System.out.println("===========");
        Person person1 = new Person();//匿名代码块
                                     // 构造方法,静态代码块只运行一次
    }
}

package com.oop.demo07;
//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test {
    public static void main(String[] args) {
        System.out.println(random());
        System.out.println(PI);
    }
}


抽象

package com.oop.demo08;
//abstract 抽象类  类extend:单继承  (接口可以多继承)
public  abstract class Action {

    //约束,有人帮我们实现
    //abstract,抽象方法,只有方法名字,没有方法的实现
    public abstract void doSomething();、
    //1.不能new这个抽象类,只能靠子类去实现它:约束
    //2.抽象类中可以写普通方法
    //3.抽象方法必须在抽象类中
    //抽象的抽象:约束
}
================
    package com.oop.demo08;
//抽象类的所有方法,继承了它的子类,都必须要实现它的方法,除非子类也抽象
public class A extends Action{
    @Override
    public void doSomething() {

    }
}

约束

在Java中,约束是一种规则,用于限制表中列上的数据,保证数据的完整性和一致性。例如,约束可以指定某列不能为空,或者某列的值必须唯一,或者某列的值必须符合某种格式等。

约束也可以用于强制方法体满足一些不变量或限制,例如不执行任何I/O操作,或者只调用已知的类的方法等。 这样可以保证方法的安全性和正确性。Java语言本身没有提供直接的方式来检查或强制这些约束,但是可以通过一些技术来实现,例如使用注解,枚举,自定义注解处理器或域特定语言等。

Java抽象类 有构造器吗

是的,Java抽象类可以有构造器。 抽象类的构造器通常用于初始化父类中的成员变量,并在子类中被继承。抽象类中的构造器不能被实例化,只能通过其子类来调用。 在 Java 中,抽象类可以有多种类型的构造器,例如:无参构造器、带参构造器等。 抽象类的构造器在子类中通过 super 关键字调用。

​ 例如,下面的代码定义了一个抽象类 Animal,它有一个私有的 name 属性和一个带参的构造器来初始化这个属性。另外,Animal 类中还有一个非抽象的方法 getName(),它可以被所有的子类继承并使用。而 eat() 方法是一个抽象方法,没有具体的实现,需要子类去实现。

public abstract class Animal {
  private String name;
  public Animal (String name) {
    this.name = name;
  }
  public String getName () {
    return name;
  }
  public abstract void eat ();
}

Cat 类继承了 Animal 类,并实现了 eat() 方法。注意,在 Cat 类中,必须实现 eat() 方法,否则编译器会报错。同时,在 Cat 类的构造器中,必须调用 super(name) 来调用父类的构造器。

public class Cat extends Animal {
  public Cat (String name) {
    super (name);
  }
  public void eat () {
    System.out.println (getName () + " likes to eat fish.");
  }
}


Java抽象类存在的意义

Java抽象类存在的意义是为了被子类继承,体现了模板思想和多态性。 抽象类可以定义一些公共的方法和属性,但是这些方法没有具体的实现,需要子类去实现。 抽象类也可以定义一些抽象方法,只有方法名而没有方法体,强制子类去重写这些方法。 抽象类不能被实例化,只能通过其子类的引用来创建对象。

抽象类的意义在于将设计和实现分离,让子类根据自己的需求来实现父类的抽象方法,提高了程序的可扩展性和可维护性。 抽象类也可以将一些具有相同属性和方法的具体概念进行抽象,减少代码的重复和冗余。

标签:总结,System,抽象,println,static,抽象类,public,out
From: https://www.cnblogs.com/xin-zhi-suo-xiang/p/17529446.html

相关文章

  • Windows应急响应--网站被入侵后的排查【跟随安全狍老师学习总结】
    #网站被入侵该怎么办一般的网站被入侵分为三种类型 1.**web入侵**具体事件体现为:* 网页挂马* 主页篡改* webshell (一般网页被webshell入侵后会留下webshell.php文件) (写CTF的签......
  • 【CDX随笔总结】P1_Vertex 的整理和分析【未完成,持续编写】
    效果图提交单:https://github.com/CartmanORCamille/CDX/commit/afc7a52fc96466ddb1ab5233e4986bb739037e33关键点渲染管线基础。C与C++交叉编译和全局变量。位表(键盘事件,摄像机视角与观察点)。渲染几何体基础画一个正方体【猜测】demo里(gif图)在旋转的时候看不到底......
  • jq命令用法总结
    简介如果说要给Linux文本三剑客(grep、sed、awk)添加一员的话,我觉得应该是jq命令,因为jq命令是用来处理json数据的工具,而现如今json几乎无所不在!网上的jq命令分享文章也不少,但大多介绍得非常浅,jq的强大之处完全没有介绍出来,所以就有了这篇文章,安利一下jq这个命令。基本用法格式......
  • 高瓴资本张磊的理念总结
    高瓴资本是亚洲资产管理规模最大的投资机构之一。得益于高瓴的巨大成功,高瓴创始人张磊被很多人称为「中国巴菲特」「投资教父」「PE一哥」,许多人盛赞他的「价值投资」和「长期主义」。如今,外部环境的剧烈变化,导致我们似乎失去了某种确定性。很多企业、很多人都感到焦虑、迷茫。今......
  • 《真实的幸福》总结
    目录总结24个与幸福相关的优势一、智慧二、勇气三、仁爱四、正义五、节制六、精神卓越总结真实的幸福来源于你对自身所拥有的优势的辨别和运用,来源于你对自身所拥有的优势的辨别和运用,来源于你对生活意义的理解和追求,它是可控的。书中列出了24个跟幸福相关的人格优势,可以按美......
  • 7.4号总结
    今天因为昨天睡得太晚了就醒的比较晚也没有吃早饭,醒了简单的洗漱了一下,吃了点零食就开始刷科一的题了,下午就要去考试了,天气是真的热啊,本来就要出发了,结果因为有人没有带身份证,又等了老半天,热的要死啊,到了考试的地方就简单的准备工作就开始考试了90分及格,第一次考了89分,不过还好有......
  • influxdb 中得 fields 与 tag 区别总结
    本位为博主原创,转载请注明出处:1.Field与Tag说明在InfluxDB表结构中,field和tag是用于存储数据的两种不同类型。Field(字段):Field用于存储实际的数值数据,例如温度、湿度等测量值。Field是可变的,可以随时间的推移而改变其值。Field的值可以进行聚合计算,例如......
  • 每日总结(7.4)
    一、今日收获(1)自学一小时java,进行练习;(2)用java完成了一个买彩票小系统详细见:二、困难及解决方法(1)在方法的定义的细节方面还不太熟悉----------多加练习三、明日计划(1)进行数据结构知识的学习;(2)继续学习java语言;(3)阅读《大道至简》半小时;......
  • 7.4总结
    今天上午得到消息,手机终于修好了,去拿手机,但是下的雨很大,等到雨不下了在去的,十一点去给妹妹开家长会,来到自己原来的小学,感觉真的不一样,小学的变化也好大啊,还是小学的时候真的快乐,没有各种烦恼,现在不多说了……,上午就这样过去了。下午学了会java知识点,网上搜了mysql的东西,下午尝试了......
  • 2023年暑假集训总结/7.4
    2023年暑假集训总结/7.3预估成绩:100+20+10+20=150实际成绩:0+61+19+0=80T1最大公约数题意:有n个数,取n-1个数,求可以得到的最大gcd。思路&做法:有一个思路是将所有数字质因数分解,然后对于每一个质数,判断他是否在这n个数中“拖了后腿”,这样就可以O(nk)地求出答案,k是质因数的个......