首页 > 编程语言 >java基础

java基础

时间:2024-05-29 18:29:00浏览次数:25  
标签:java 基础 接口 id Student 父类 方法 public

1.类的概念

包:一些接口和类集合在一起,方便使用,类似c语言的头文件

使用import关键词,将所用的包导入

类:【修饰符】class 类名{类体}

类中包含构造函数 ,对象(变量),方法等

在一个程序中,只有一个pubic类,有一个主类中有main接口,是主程序的接口进入

类,用来写一整块的功能

【修饰符】包括public,private,abstract等

class Student
{
    public int height;
	private int id;
	private String name;
	private int score;
}

构造函数:分为无参构造和有参构造

构造函数是为了初始化变量,例如:建立了一个student类,自然要有年龄,名字,成绩的初始值

public Student(int id,String name,int score)
	{
		this.id=id;
		this.name=name;
		this.score=score;
	}
	
	public Student()
	{
		
	}

上面为有参构造,下面为无参构造

注意:构造函数没有返回值类型,名字和类名相同,可以被重载

方法 :【修饰符】返回值  方法名(形参,实参){方法体}

public void setId(int id)
	{
		this.id=id;
	}
	public int getId()
	{
		return id;
	}

相当于C语言中的函数,用于实现某个特定的功能

其中get,set函数,主要用来设置和获取私有变量的值,在继承和多态中,因为继承不能继承私有变量,可以通过get,set函数进行获取

2.常用类

在Java中有很多已经被设定好的类,在api的文档中,可以被调用。来简化使用的麻烦

如何调用类中的方法,先将类进行实例化(就是下列代码)实例化之后,进行 .方法的调用

      Student st1=new Student(1,"小亮",89);
	  Student st2=new Student(2,"小明",78);
	  Student st3=new Student(3,"小工",90);
	  Student st4=new Student(4,"小红",99);

主要的类有:String类Scanner类object类Arrays类等

具体参照以下链接

Java中的常用类_java类-CSDN博客

3.集合

(其实就是类似与数据结构)

(1)集合有两个父接口 Collection、Map
(2)Collection有两个子接口 List、set
(3)List有两个常见的实现类 ArrayList、LinkedList
(4)Set有两个常见的实现类 HashSet、TreeSet
(5)Map有两个常见的实现类 HashMap、HashTable
原文链接:https://blog.csdn.net/weixin_52071901/article/details/131180697

4.抽象类,接口,多态 ,继承,重写,重载

(相对于C语言加的一些新的概念)

抽象类:是指含有没有具体实现方法(只有方法头,没有方法体)的类,用abstract关键字 来进行识别

abstract class Animal {
    // 抽象方法,没有方法体
    abstract void makeSound();
 
    // 非抽象方法,有方法体
    void sleep() {
        System.out.println("Zzz");
    }
}

注意:抽象类不能被实例化,只能够被继承,继承的子类要实现父类(抽象类)的全部方法

可以包含非抽象类     一个类只能实现一个抽象类,

接口:抽象方法的集合,用interface和implement关键字来进行识别

因为类只能单继承,有了接口,可以有一个类可以实现多个接口,增加了灵活性

package intrFace;
public interface AreaInterface{
double pai=Math.PI;
double area();
}
package intrFace;
public class Circle implements AreaInterface{
double r;
public Circle(double x){
r=x;
}
//实现接口中的抽象方法,求圆面积
public double area(){
return pai * r * r;
}
public String toString(){
return "圆:r="+r+"\tarea="+area();
}
}

注意:接口并不等同于类,不能够实例化,实现接口要实现其中所有的方法,

不能包含非抽象方法,一个类可以实现多个接口

继承:可以设置一个新的类,从一个已经存在的类中拥有他的属性和方法,这个新的类叫做子类,被继承的类叫做父类,用extends关键词,利用super访问父类的变量,

可以重写父类的方法,可以增加新的属性,可以实现父类的抽象方法

多态:是使得不同的对象使用同一个方法时产生不同的效果,有三个限制:继承关系,重写,用父类引用指向子类对象

class Animal {
    public void sound() {
        System.out.println("动物发出声音");
    }
}

class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("狗发出汪汪声");
    }
}

class Cat extends Animal {
    @Override
    public void sound() {
        System.out.println("猫发出喵喵声");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Dog(); // 父类引用指向子类对象
        Animal animal2 = new Cat(); // 父类引用指向子类对象

        animal1.sound(); // 输出:狗发出汪汪声
        animal2.sound(); // 输出:猫发出喵喵声
    }
}

重写:对于同一个方法,进行不同的方法体改变,实现不同的功能,

在子类继承自父类的方法中,返回值类型,方法名,参数列表都要和父类的方法相同,修饰符等级子类要在父类之上

重载:对于一个方法,实现不同的功能,在同一个类中,方法名要和原来方法相同,返回值,参数列表要不一样

标签:java,基础,接口,id,Student,父类,方法,public
From: https://blog.csdn.net/2301_81768491/article/details/138580179

相关文章

  • 升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框
    升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0uniapp、vue、android、web框架:Vue3+SpringBoot3),界面功能(三) 主要功能要点:     权限管理(组织机构、用户管理、角色管理、岗位管理)     系统设置(菜单管理、参数管理、数据字典、定时任务、文件管......
  • javascript引入了不同版本的多个jquery,如何不同版本之间不互相影响
    1️⃣ 原因  由于是一个比较老的项目,所以在做功能时,用到了老项目的一个控件,这一个控件是以前封装好的,依赖的是jquery-1.6.min.js。但是在做下拉框多选功能时,在网上找了一个下拉框多选的框架,但是这个框架依赖是jquery.js(3.7.1),所以才出现了这个问题。  简单来说就是新老控件......
  • AI大模型探索之路-实战篇10:数据预处理的艺术:构建Agent智能数据分析平台的基础
    系列篇章......
  • 添砖Java(十二)——异常,异常捕获,常见异常方法
    异常:定义:异常通俗来讲,其实就是你写出bug来了,编译器给你报错了。publicstaticvoidmain(String[]args)throwsException{intz=10/0;} 这个代码虽然说是可以运行,但是编译器会报错。因为10不能去除以0。异常分为两种,一种是运行时异常,另一种时编译时......
  • Three.js 中的场景与相机基础
    Three.js中的场景与相机基础一、场景(Scene)在Three.js中,场景是所有3D对象存在和交互的容器。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨:它就像是一个虚拟的3D空间,我们可以在其中添加各种几何体、灯光等元素。场景提供了一个环境,让我们可以组......
  • javascript右键菜单
      文章来源:https://segmentfault.com/a/1190000023098787 HTML<h1>Clickonblanktoshowcustomcontextmenus</h1>CSS.custom-context-menu{position:fixed;border:1pxsolid#ccc;list-style:none;padding:4px0;border-radius:......
  • COMSOL入门1——基础配置(自存)
    进行基础配置:文件➡首选项1.语言设置2.显卡不太好,图形的渲染改为“软件”,以防闪退、黑屏3.文件➡临时文件夹和恢复文件夹放在D盘重新启动软件......
  • 关于java的环境变量配置
    java概念1.sun,oraclejdk,openJdk2.jdk:javadevkit(java开发工具包)3.jre:jave运行时环境4.jvm:java虚拟机2.为啥要配置环境变量?让操作系统找到jave/bin目录位置,这样在任何目录都可以使用javecjavajavap,能够让依赖java的软件系统也能找到java配置环境变量:在w......
  • Java虚拟机栈
    什么是虚拟机栈每个线程运行时所需要的内存,称为虚拟机栈。每个栈由多个栈帧(frame)组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈,对应着当前正在执行的那个方法。垃圾回收是否涉及栈内存垃圾回收主要指就是堆内存,当栈帧弹栈以后,内存就会释放。栈内存分配越......
  • 基础会计学习指导习题与实训第五版王炜课后习题答案解析
    基础会计学习指导、习题与实训第五版)主 编: 王炜ISBN: 9787040564648出版社: 高等教育出版社上传者: Dzq!大家好,我是一名会计专业的大学生,最近在学习《基础会计学习指导、习题与实训第五版》这本教材。我发现这本书内容丰富,讲解透彻,非常适合初学者。但是,在学习过程中,我......