学习
实践
活动
专区
工具
TVP
写文章

Java 简介 ( 类 | 方法 | 静态方法 | 类与方法完整示例 )

文章目录 一、简介 二、类 三、方法 四、静态方法 五、类与方法完整示例 一、简介 ---- 可以 简单理解为 参数化类型 , 主要作用在 类 , 方法 , 接口 上 ; java 与 C++ 模板 : Java 中的 , 是仿照 C++ 中的 模板 开发的 , 目的是让开发者可以写出 通用 , 灵活 的代码 ; 伪 : Java 中的 , 是 伪 , Java 开发好之后 , 在 编译阶段 就 将相关的信息消除 了 , 不会留到运行时 ; 类型 : 方法 : 方法有参数 , 方法的参数 可以指定成一些 ; 类 : 的作用 : 安全检查 : 在 编译阶段 , 就可以进行 代码检查 , 将更少的错误带到运行时 ; 避免强转 : 避免 类型的强转 导致不必要的安全问题 ; 提高性能 : 使用可以 提高 Java ; 方法类 中的 : 不同 : 方法指定的 T 与 类中的 T 没有任何关系 , 这两个 T 可以是不同的类型 ; 相同 : 方法中定义的 T

4730
  • 广告
    关闭

    2023新春采购节

    领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java基础(二)接口方法# 总结

    这篇文章主要介绍应用于接口、方法和匿名内部类的一些知识点和使用案例,也包括《Java编程思想》中对应的练习题的解读。 接口 应用于接口,是工厂方法设计模式的一种应用。 在中,基本类型无法作为类型参数,但是Java提供了自动打包和拆包的功能; 方法 知识点总结 如果使用方法可以取代将整个类(或接口)化,那么就应该只使用方法; static方法要使用能力 在使用类的时候,必须在创建对象的时候指定类型参数的值,但是在使用方法时候,不必指明参数类型。 类型推断只对赋值操作有效 方法与可变参数可以一起使用 例子1:使用Generator的方法 package org.java.learn.generics; import org.java.learn.generics.coffee.Coffee 、方法 本节练习用的代码:LearnJava

    2K30

    Java进阶:【】认识方法类,接口和通配符

    对应的类型都是引用类型不能是基本类型 类和接口 声明类时传入类型实参 创建类对象时,传入类型实参 类型实参为空时,默认为Object类型 继承类: 1.父类不传入类型实参 类的构造器写法: 不同的引用类型不可以互相赋值 如果不指定,就会被擦除,例子就是 类中的静态方法不能使用类的 不能直接使用数组的创建,如果非要创建 方法 什么是方法 ,不是带方法就是方法方法有要求:这个方法参数类型要和当前类的方法无关 换个角度:方法对应的那个参数类型和当前所在的这个类,是否为类,是啥,无关 方法定义的时候 ,前面要加上t,原因如果不加的话,会把t当作一种数据类型,然而代码中没有t类型那么就会报错 t的类型实在调用方法的时候确定的 方法是否是静态方法? Arraylist所以是同级关系 通配符 当我想要重载不同的list时,常见的重载无法让我们完成需求,于是我们需要通配符 在没有通配符的情况下,下面a方法,相当于重复定义 通配符是什么?

    59810

    Java——基本总结(通配符、接口、方法

    这样的背景下,就产生了的技术。 的本质:类中的属性或方法的参数,不设置具体的类型,只使用一个标记表示,而在类使用的时候才对其动态的绑定一种数据类型。 ,将以上使用的类型由String 变为Integer,此时fun方法不能正常使用,且由于重载是受到参数类型而不是类型的限制,那么无法通过重载来解决此问题。 interface IMessage<T>{ public void print(T t);//方法上使用 } 以上,实现 了接口,但是对于接口的子类,有两种实现形式: 模式一:子类继续使用声明 4、方法 若在一个方法使用了,这个方法就称为方法。 interface IMessage<T>{ public void print(T t);//方法上使用 } 方法不一定还要定义在声明的一个类中,也可能就是一个方法定义为方法

    41230

    Java 示例 - 方法,类,接口

    Java通用方法 有时我们不希望整个类都被参数化,在这种情况下,我们可以创建java方法。由于构造函数是一种特殊的方法,因此我们也可以在构造函数中使用类型。 这是一个显示Java方法示例的类。 Java绑定类型参数 假设我们要限制可以在参数化类型中使用的对象的类型,例如在比较两个对象的方法中,并且我们要确保接受的对象是可比较的。 9.1)Java上界通配符 上限通配符用于在方法中放宽对变量类型的限制。假设我们要编写一个将返回列表中数字总和的方法,那么我们的实现将是这样的。 如果我们尝试在sum方法内将元素添加到列表中,则该程序将无法编译。 9.2)Java无限制通配符 有时,我们希望通用方法适用于所有类型,在这种情况下,可以使用无界通配符。与使用<?

    1.1K50

    擦除)【java基础—-

    1.3 定义(类、方法方法返回值是的,方法在普通类和类里)): 1.4特点: 对于特点(1)举个例子 : 没有使用时的异常抛出 对于特点(2)访问时不需要类型转换 2.1类 2.2接口与类相似,不举例子了 2.3方法 2.4.疑惑,为什么有类了,还要有方法类与方法有什么区别,方法有什么好处? 不能存储基本类型int,double… 5.擦除 5.1 擦除概念: 5.2 由于擦除出现的错误举例: ---- ---- 1.什么是 1.1概念: Java是J2 SE1.5 : java.lang.Integer cannot be cast to java.lang.Double at MyGenerics.MyGenericTest.main(MyGenericTest.java 不举例子了 语法:接口名<T, …….> 2.3方法 语法:[ 修饰符] <T> 返回值类型 方法名([参数列表]) 2.4.疑惑,为什么有类了,还要有方法类与方法有什么区别,方法有什么好处

    17150

    Java中声明方法

    参考链接: 我们需要Java中的前向声明吗? 是什么意思在这就不多说了,而Java类的定义也比较简单,例如:public class Test<T>{}。 但是Java中的方法就比较复杂了。          类,是在实例化类的时候指明的具体类型;方法,是在调用方法的时候指明的具体类型。          定义方法语法格式如下:          调用方法语法格式如下:          说明一下,定义方法时,必须在返回值前边一个<T>,来声明这是一个方法,持有一个T,然后才可以用 在本例中,forName()方法中传入的是User类的完整路径,因此返回的是Class<User>类型的对象,因此调用方法时,变量c的类型就是Class<User>,因此方法中的T就被指明为 当然,方法不是仅仅可以有一个参数Class<T>,可以根据需要添加其他参数。          为什么要使用方法呢?

    44710

    方法

    >不允许添加除null以外的任何元素,因此我们需要使用方法List<E>,如下: import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class KnowGeneric { /* * 不允许添加除null以外的任何元素 The method addAll(Collection<? 如下方法则选择一个参数使用通配符,保证list1可以兼容list2元素类型即可 你可以尝试下把list1类改成List<? inteList1, inteList2); boundedWildCardAdd(numList, inteList2); } } geneAdd指定类型参数E,保证集合中数据类型一致,但geneAdd方法有个不足之处 ,那就是缺乏灵活性,两个方法参数E的类型都必须是一样的,我们可以用有界通配符,boundedWildCardAdd就是其中一个示例,根据"producer-extends, consumer-super

    78980

    java边界

    参考链接: Java中具有的有界类型 在网上发现这篇文章写得不错,地址:http://build.cthuwork.com:8081/wordpress/category/java教程/java再谈 或者我们不管其是什么类型的列表,往里面Object,然而Object里有你的实际类型的属性和方法么。即使实际是Object列表,我们也无法确定。那么,无界通配符就不能接受任何输入了么,看起来是这样。 其主要用处之一是在使用Java或第三方的API的类时,对参类型不同,但参具有继承关系,且主要关注其输入的对象进行归纳。 也叫参数化类型,顾名思义,通过给类型赋予一定的参数,来达到提高代码复用度和减少复杂性的目的。   在Java中,是作为语法糖出现的。 在虚拟机看来,List<E>这个类型只是普通的类型List而已,这种行为叫擦除(Type Erasure)。   那么在Java是如何如何实现其目的的呢?Java充分利用了多态性。

    30510

    JAVA_静态方法及静态成员变量

    参考链接: Java中的静态方法与实例方法 #1.类中的静态方法不能使用类的,而应该将该方法定义为方法  1.错误示范:  class demo<T>{     public static 正确示范:  class demo<T>{     public static <T> T show(T temp) {         return temp;     } }  3.原因:     在java只是一个占位符,必须在传递类型后才能使用。 就类而言,类实例化时才能传递真正的类型参数,由于静态方法的加载先于类的实例化,也就是说类中的还没有传递真正的类型参数时,静态方法就已经加载完成。显然,静态方法不能使用/访问类中的。  #2.不能定义静态变量  1.原因:  由于静态变量在java程序一运行时就已经被载入内存,而此时它的类型无法确定,而开辟空间必须知道类型,两者矛盾。

    2.7K20

    Java

    什么是 实质上就是使用程序员定义安全的数据类型。在没有出现之前,Java也提供了对Object的引用“任意化”操作,这种“任意化”操作就是对Object引用进行向下转型及向上转型操作。 : java.lang.Float cannot be cast to java.lang.Integer 而机制有效的解决了这一问题。 ,同时返回和接受的参数使用T这个类型,最后在主方法中可以使用Over<Boolean>形式返回一个Bollean对象,使用OverClass<Float>形式返回一个Float对象,使这两个对象分别调用 setOver()方法时,不需要进行向下转型操作,直接将getOver()方法返回的值赋予相应的类型变量即可。 使用限制后,类型必须实现或继承了anyClass这个接口或类。无论anyClass是接口还是类,在进行限制时都必须使用extends关键字。

    39420

    Java

    1.java及就是在jdk1.5之后出现的一个新的安全机制 我们发现在集合框架中我们可以放入任何的元素,然而这样做并没有任何意义,绝大多时候我们是默认我们 知道这个容器需要存放什么样的内容, 但是如果有了我们就可以直接定义类或者方法。 1).类就是把定义在类上面这样的话类中只要引用了的地方他们的类型都一致例如集合框架,写在类名后类似于接受参数 的确定就是在类实例化的时候 2).当然有时候类中的函数想操作的独享并不是类上定义的那个类型我们可以把定义在函数上 ,写在返回值的前面 类似于参数一样,但是静态方法是无法使用定义在类上面的因为类的在确定类型的时候都是在类的实例化 而函数的则是自动识别无需程序员做任何操作 3). : 限定: 1).当我们要传入的某个参数不确定的时候我们可以使用定义在函数上的,当然还有一种更方便的方法就是 使用?

    71940

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 文件存储

      文件存储

      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。CFS 可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云 CFS 的管理界面简单、易使用,可实现对现有应用的无缝集;按实际用量付费,为您节约成本,简化 IT 运维工作。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券