定义函数java
A. java中定义函数的技巧是什么
java 面向对像,一般都说是对像里的方法,不叫函数。
定义函数的技巧? 如果是初学者不知道什么做。那随便找个来参照先写着,后面就明白了。
如果是想问方法名,一般都是小写字母开头,后面就是写些功能意思的拼音,或英文
B. java中如何定义一个泛型函数
泛型(Generic type 或者 generics)是对Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
定义泛型方法语法格式如下:
定义泛型方法时,必须在返回值前边加一个<T>,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。
Class<T>的作用就是指明泛型的具体类型,而Class<T>类型的变量c,可以用来创建泛型类的对象。
C. Java构造函数里面可以定义函数吗
可以,因为每个类都有一个无参数的默认构造函数
比如
class
c{}
则c
c=new
c();是可以执行的
因为其中有个默认的无参数构造函数
但是如果是下面的情况则不能这样用
比如
class
c{
public
c(int
i){}
}
这样c
c=new
c();是错误的,因为已经有了构造函数,则不能再使用默认构造函数了..所谓默认构造函数,就是在默认状态下(无构造函数)可以被使用的.
当然你也可以如果在上面的情况下,你可以写出无参构造函数.(当然这就不是默认构造函数了)
class
c{
public
c(){}
public
c(int
i){}
}
D. java可以在main中定义函数吗
不能…… 但是可以在函数中来直接实现一个接口,这样就可以自定义一些函数了。
像下面这样:
public static void main(String[] args){
Map<Object,Object> map = new Map<Object, Object>() {
@Override
public int size() {
return 0;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean containsKey(Object key) {
return false;
}
@Override
public boolean containsValue(Object value) {
return false;
}
@Override
public Object get(Object key) {
return null;
}
@Override
public Object put(Object key, Object value) {
return null;
}
@Override
public Object remove(Object key) {
return null;
}
@Override
public void putAll(Map<?, ?> m) {
}
@Override
public void clear() {
}
@Override
public Set<Object> keySet() {
return null;
}
@Override
public Collection<Object> values() {
return null;
}
@Override
public Set<Entry<Object, Object>> entrySet() {
return null;
}
};
}
E. 请教Java怎样自定义函数
java 与c类语言既是一脉相承,但又略有不同,java程序运行的基础与c++,C#等面向对象语言都一样,都是以类为基础,而类中又以方法(在java中不叫函数)来完成需要解决的问题的,方法的运行就跟c类似了都需要一个主方法来运行它就是main()方法,下面是例子:
public class Test{
static int addition(int a, int b)
{
int sum;
sum=a+b;
return (sum);
}
public static void main(String args[])
{
int z;
z = addition(5,3);
System.out.println("Result = "+z);
}
}
F. Java写一个自定义函数
为了帮助网友解决“java创建自定义函数”相关的问题,中国学网通过互联网对“java创建自定义函数”相关的解决方案进行了整理,用户详细问题包括:; /.println(arrs.这里是返回最大值
return 8;;/我想自定义getmax函数的话怎么做
}
public int getMax(){
/.getMax);/,7.outpublic class test{
public static void main(String[] args){
int arrs[] =new int[]{1;
}
}
我想java实现javascript 里面 prototype 这样的原型对象,5.,5;
System,1},8,4,具体解决方案如下:
解决方案1:
println(getMax(arrs)); a) a = arrs[i].length; arrs; i <
}
public static int getMax(int[] arrs){
int a = 0;
for (int i = 0,7.outpublic class TEST{
public static void main(String[] args){
int[] arrs =new int[]{1;
}
return a,5; i++) {
if(arrs[i] >,5;
System,1},8,4
解决方案2:
谢谢。。我能不能 .length() 这样的函数自定义创建呢?
解决方案3:
jdk提供一些常用类跟方法方便我们写程序,自己写也一样的
arrs.length Array里面封装好的实例属性
解决方案4:
谢谢!
解决方案5:
7,5;
}
public static void main(String[] args){
int arrs[] =new int[]{1:
public static int getMax(int[] arrs){
/.这里是返回最大值
return 8;/:
public static void main(String[] args){
int arrs[] =new int[]{1..;
System,4,4; ///,1}.out;
System; /,5,5,5;.,7,8.;我想自定义getmax函数的话怎么做
}
改为public int getMax(){
/,1}.out;;/.getMax),8.这里是返回最大值
return 8;
}
改为.println(getMax(arrs)).println(arrs
解决方案6:
方法没有修饰符的例子:
String getName(){ //无修饰符,无参数,有String类型返回值
return "张3";
}
void getName(){ //无修饰符,无参数,无返回值
system.out.println("张3");
}
int add(int a,int b){ //无修饰符,有2个整型参数,有整型返回值
return a+b;
}
方法有2种修饰符
1)有public、protected、private三种显示的访问控制修饰符
2)还可以有static 、 final 、abstract 这三个修饰符
方法含有修饰符的例子:
public String getName(){ //public修饰符(公有方法),无参数,有String类型返回值
return "张3";
}
private void getName(){ //无修饰符(私有方法),无参数,无返回值
system.out.println("张3");
}
G. java怎样在主函数里定义函数
main函数是一个程序的入口,也是出口,main函数其实就是类里的一个方法,方法只能在类里声明了,所以maion函数必须声明在一个类里,一个程序里只有一个main函数,因为类与类之间是相与调用的。一个程序从开始运行就会先找main函数,然后再一步一步的执行,如果有多个main那么程序就会报错,因为他不知道该从那个门口(main函数)进,然而类为什么可以有多个呢,你还记的JAVA的三大基本特征么,即封装,继承,多态。而封装就是我们所说的类,他是把所有相同的属性,方法归纳到一起,即组成一个类。这样给你打个比方吧
main函数所在的一个类就相当于一个城市,而main函数就是城市的一个入口,并且只有一个入口,也可是出口,而城市中又有许多小区,我们叫他为类吧,而小区里的房子又基本相同,这也就验证了我们把同一类物品归为一类,即封装在一个类里,而每个小区又不同,这又验证了每一个类的实现功能 是不同的,而类与类这间的调用则是用NEW关键字,这个你应该会吧,继承,多态我就不用说
主函数的一般写法如下:
public static void main(String[] args){…}
下面分别解释这些关键字的作用:
(1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。
(2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
(3)void关键字表明main()的返回值是无类型。
**(4)参数String[] args,这是本文的重点。
第一、程序使用者可以在命令行状态下向某个类传递参数。看下面的例子:
public class ArgsDemo {
public static void main(String[] args) {
String str = new String();
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
str += args[i];
}
System.out.println(str);
}
}
使用javac ArgsDemo.java命令生成ArgsDemo.class文件;然后使用“java ArgsDemo 参数一 参数二 参数三 …”的格式向ArgsDemo类传递参数。该示例程序将首先输出参数,然后输出所有参数的和。比如java ArgsDemo a b c,将得到这样的输出:
a
b
c
abc
需要注意的是,如果这里的循环条件不是i <5,则在命令行中输入的参数必须是5个,否则将会报错,错误类型为:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundException:3
at ArgsDemo.main(ArgsDemo.java:5)
第二、可以在另一个类中向包含main()的类传递参数,如下例:
public class A {
public static void main(String[] args)
{
for(int i=0;i
System.out.println(args[i]);
}
}
public class B {
public static void main(String[] args)
{
c = new A();
String[] b = {"111","222","333"};
c.main(b);
}
}
首先定义一个class A,在A中定义一个main()函数,在该函数中输出参数args。然后定义一个classB,在B中初始化一个A的实例c,然后向c传递参数,并且调用c的main方法打印出传入的参数值。输出结果如下:
111
222
333
由于main()函数是静态函数,即不需要实例化也能使用,所以B使用下面的写法也能完成相同的功能:
public class B {
public static void main(String[] args)
{
//A c = new A();
String[] b = {"111","222","333"};
A.main(b);
}
}
总结:参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选择。
(以上观点均系个人理解,不准确的地方欢迎批评指正。实例程序均调试通过)
对static的理解还有问题。main方法的代码是存在方法区的。方法不管是否为static的,都存在方法区。
H. java中函数的声明和定义
Java中,我们应该知道最基本的就是定义变量和声明变量了,那么定义与声明这两者有没有区别呢?具体的区别又是哪些呢?下面学习啦小编来告诉你定义与声明的区别。
定义和声明的定义区别
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。
声明是向编译器介绍名字--标识符。它告诉编译器“这个函数或变量在某处可找到,它的模样象什么”。
而定义是说:“在这里建立变量”或“在这里建立函数”。它为名字分配存储空间。无论定义的是函数还是变量,编译器都要为它们在定义点分配存储空间。
对于变量,编译器确定变量的大小,然后在内存中开辟空间来保存其数据,对于函数,编译器会生成代码,这些代码最终也要占用一定的内存。
总之就是:把建立空间的声明成为“定义”,把不需要建立存储空间的成为“声明”。
基本类型变量的声明和定义(初始化)是同时产生的;而对于对象来说,声明和定义是分开的。
下面小编给大家举个例子说明一下。
例如:类A
如果A a;就是一个声明,告诉编译器a是A类的一个对象变量,但是不进行初始化;
如果以后a=new A();这就是初始化,分配了空间。
需要注意的是我们声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用就没有单独声明的必要,变量是如此,函数也是如此,所以声明不会分配存储空间,只有定义时才会分配存储空间。
用static来声明一个变量的作用有二:
(1)对于局部变量用static声明,则是为该变量分配的空间在整个程序的执行期内都始终存在。
(2)外部变量用static来声明,则该变量的作用只限于本文件模块。
定义和声明的具体区别
所谓定义就是(编译器)创建一个对象,为这个对象分配一块内存,并给它取上一个名字,这个名字就是就是我们经常所说的变量名或对象名。
声明有2重含义:
(1) 告诉编译器,这个名字已经匹配到一块内存上,下面的代码用到变量或者对象是在别的地方定义的。声明可以出现多次。
(2) 告诉编译器,这个名字已经被预定了,别的地方再也不能用它来作为变量名或对象名。
定义和声明最重要区别
定义创建对象并为这个对象分配了内存,声明没有分配内存。