当前位置:首页 » 编程语言 » javaapply

javaapply

发布时间: 2022-08-27 04:16:51

Ⅰ 为啥我的java更改jdk页面没有apply按钮

这是myeclipse,软件版本问题。无需纠结。

Ⅱ eclipse 中 apply和Restore Defaults是什么意思

apply:应用,比如设置了某些功能的改变,就可以apply
Restore Defaults:恢复默认,如果想把发动过的设置恢复默认设置就可以用它了
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Ⅲ Javascript中call和apply的区别与详解

每个JavaScript函数都会有很多附属的(attached)方法,包括toString()、call()以及apply()。听起来,你是否会感到奇怪,一个函数可能会有属于它自己的方法,但是记住,JavaScript中的每个函数都是一个对象。看一下 这篇文章 ,复习一下(refresher)JavaScript特性。你可能还想知道JavaScript中函数和方法的区别。我认为“函数”和“方法”的描述,仅仅是JavaScript的习惯约定而已。函数立足于它们自己(例如:alert()),而方法是函数内部一个对象的属性(dictionary),我们通过对象来调用方法。每个JavaScript对象都有一个toString()方法,下面通过代码举例说明,在一个函数对象中,我们可以使用toString()方法。
?

1
2
3
4

function foo(){
alert('x');
}
alert(foo.toString());

因为函数都是对象,它们有自己的属性和方法。我们可以把它们看作数据(data)。这篇文章,我们只关注两个函数的方法apply()以及call()。
我们从下面的代码开始:
?

1
2
3
4
5

var x = 10;
function f(){
alert(this.x);
}
f();

我们定义了一个全局函数f()。f()通过this关键字访问变量x,但是需要注意的是,我们不能通过一个对象的实例来调用这个函数。this指向的是什么对象呢?this会指向这个全局对象。我们的变量x就是在这个全局对象中定义的。上面的代码能够正常运行,运行结果会显示一个对话框,对话框中显示10。
我们可以通过this来调用call()和apply()。正如下面的例子展示如何使用call():
?

1
2
3
4
5
6
7

var x = 10;
var o = { x : 15};
function f(){
alert(this.x);
}
f();
f.call(o);

首先调用f()将会显示10的对话框,因为this这个时候指向的是全局对象。然后我们调用f函数的call()方法,传入的参数是o,运行结果显示的是o中x属性的值15。call()方法会用它的第一个参数作为f函数的this指针。也就是说,我们会告诉运行时,f函数中的this指向的是哪个对象。
this跳转听起来有些滑稽,甚至对于C++、Java以及C#程序员来说有些反常。这些都是ECMAScript中有趣的部分。
通过call()也可以给函数传递参数:
?

1
2
3
4
5
6
7

var x = 10;
var o = { x : 15};
function f(){
alert(this.x);
}
f();
f.call(o);

apply()和call()类似的,只是apply()要求第二个参数必须是一个数组。这个数组会作为参数传递给目标函数。
?

1
2
3
4
5
6
7
8

var x = 10;
var o = {x : 15};
function f(message) {
alert(message);
alert(this.x);
}
f('invoking f');
f.apply(o, ['invoking f through apply']);

apply()方法是很有用的,因为我们可以创建一个函数而不用去关心目标方法的参数。这个函数可以通过apply()的第二个数组参数来传递额外的参数给方法。
?

1
2
3
4
5
6
7
8
9
10
11
12

var o = {x : 15};
function f1(message1) {
alert(message1 + this.x);
}
function f2(message1, message2) {
alert(message1 + (this.x * this.x) + message2);
}
function g(object, func, args) {
func.apply(object, args);
}
g(o, f1, ['the value of x = ']);
g(o, f2, ['the value of x squared = ', '. Wow!']);

这样的语法有点问题。为了调用apply()方法,我们强制目标函数使用数组中的参数。幸运的是,有一个方法可以让这种语法更简单。在此之前,我们必须先介绍一个:参数标识符。
在JavaScript中,其实每个函数都有一个可变长度的参数列表。这意味着,即使一个函数只有一个参数的时候,我们也可以传递5个参数给它。下面的代码不会有错误,而且结果显示的是“H”。
?

1
2
3
4

function f(message) {
alert(message);
}
f('H', 'e', 'l', 'l', 'o');

在f()中,如果我们不想去接受其他的参数,我们可以用关键字arguments。arguments代表一个参数对象,它有一个代表长度的属性类似于数组。
?

1
2
3
4
5
6
7
8
9

function f(message) {
// message的值和arguments[0]是一样的
for(var i = 1; i < arguments.length; i++){
message += arguments[i];
}
alert(message);
}
// 结果显示“Hello”
f('H', 'e', 'l', 'l', 'o');

你应该知道,严格来讲,arguments不是一个数组。arguments有一个length属性,但是没有split、push、pop方法。在前面的g()函数中,我们可以从arguments中拷贝需要的参数,组成数组,然后把这个数组传递给apply()。
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14

var o = {x : 15};
function f(message1, message2) {
alert(message1 + ( this.x * this.x) + message2);
}
function g(object, func) {
// arguments[0] = object
// arguments[1] = func
var args = [];
for(var i = 2; i < arguments.length; i++) {
args.push(arguments[i]);
}
func.apply(object, args);
}
g(o, f, 'The value of x squared = ', '. Wow!');

当我们调用g(),we can pass additional arguments as parameters instead of stuffing the arguments into an array。

Ⅳ java中输入点后自动弹出方法列表

1. 打开Eclipse,然后“window”→“Preferences”
2. 选择“java”,展开,“Editor”,选择“Content Assist”。
3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activation triggers for java”这个选项。其实就是指触发代码提示的就是“.”这个符号.
4. “Auto Activation triggers for java”这个选项,在“.”后加abc字母,方便后面的查找 修改。然后“apply”,点击“OK”。
5. 然后,“File”→“Export”,在弹出的窗口中选择“Perferences”,点击“下一步”。
6. 选择导出文件路径,本人导出到桌面,输入“test”作为文件名,点击“保存”。
7. 在桌面找到刚在保存的文件“test.epf”,右键选择“用记事本打开”。
8. 可以看到很多配置MyEclipse 6.0.1的信息
9. 按“ctrl + F”快捷键,输入“.abc”,点击“查找下一个”。
10. 查找到“.abc”的配置信息.
11. 把“.abc”改成“.abcdefghijklmnopqrstuvwxyz(,”,保存,关闭“test.epf”。
以后,当你输入任意一个字母时,都会自动提示

Ⅳ java程序运行时总是出现Launch configuration ASTFrame references closed project...要怎么改呀

1:单击工具栏Run图标右边的下拉箭头,选择Run Configurations

Ⅵ JAVA阅读源码,大量英文注释阅读不方便,求集成idea里面的翻译java注释由英文翻译为中文的工具。

学会在idea(eclipse)中阅读、调试源码,是java程序员必不可少的一项技能。


在idea中配完环境后,默认其实也是能够对jdk的源码进行debug调试的。但是无法在源码中添加自己的注释,无法添加自己的理解。如果干瞪眼看的话,可能过段时间,就忘记了。下面就介绍下,如何在jdk源码中为所欲为,像在我们自己的代码中一样写注释、调代码:


打开idea,选择Project->File->Project Structure->SDKs->Sourcepath,初始状态如下图 :


这时,再重新打开jdk的源码类,我们就可以在源java文件中,添加自己的注释了。

一定注意:添加注释时,一定不要新加一行写注释。最好在一行代码的后面,使用//进行注释。否则行号和真正的jre中编译后的代码行号对应不上,如果对源码debug时,会出现代码运行和行号不匹配的情况

Ⅶ java问题 急急急!!!

1、public class example implements Function<String,int>{
//Str为输入的字符串
public int apply(String Str){
System.out.println(Str.length(););
return Str.length();
}
}
2、

Ⅷ 用mac搭建java框架需要注意什么、学习什么

1、安装jdk:Mac系统自带jdk,但是版本是1.6,比较老了,我们需要在官网下载最新的Java8,安装比较简单。
2、配置jdk环境变量:终端输入 vim ~/.bash_profile 按回车,进入编辑模式后输入以下内容:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
按esc :wq回车,保存退出后在终端输入 source ~/.bash_profile 以使文件生效。
终端输入java -version可以查看Java版本,whereis java可以查看Java位置,echo
$JAVA_HOME可以打印出JAVA_HOME。
3、安装eclipse:下载完成后解压,把.app文件拖进Application就可以了,然后创建一个workspace,也就是工作空间,存放代码的地方。
4、eclipse配置jdk:打开eclipse,偏好设置,Java,installed,勾选1.8版本,apply,OK。
5、安装tomcat:下载完成后解压,把文件夹放在你想放的位置,打开eclipse,偏好设置,找到server,tomcat,add,选择路径,apply,OK。
6、下载maven:下载完成后解压,放到想放的位置。
7、配置maven环境变量:终端输入 vim ~/.bash_profile 按回车,进入编辑模式后添加以下内容:
M2_HOME=/Users/wangpeng/java/apache-maven-3.3.9
PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH:.
export M2_HOME
按esc :wq回车,保存退出后在终端输入 source ~/.bash_profile 以使文件生效。
终端输入mvn -version或者mvn -v可以查看maven相关信息,echo $M2_HOME可以打印出M2_HOME。
8、eclipse配置maven:打开eclipse,偏好设置,找到maven,installations,add,选择路径,apply,OK。
9、数据库的安装之前已经写过一篇博客了,这里不再重复,需要的话请自行查阅,传送门:《Mac OS X 下Mysql的安装、配置及卸载》
.bash_profile文件的最终版本如下:
# sql
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
# ls
alias ls='ls -G'
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
M2_HOME=/Users/wangpeng/java/apache-maven-3.3.9
PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH:.
CLASSPATH=JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
export M2_HOME

Ⅸ java语义分析

public class VariableTypeResolver {
private final String symbol;
private final ASTNode minScope;

private boolean methodLevel = true;
private boolean typeLevel = true;

/**
* The found result
*/
private SimpleName declSN;

private final ASTVisitor visitor = new ASTVisitor() {
@Override
public boolean visit(SimpleName sn) {
if (found()) {
return false;
}
if (sn.getIdentifier().equals(symbol) && sn.getParent() instanceof VariableDeclaration) {
declSN = sn;
return false;
}
return true;
}
};

/**
* Starts resolving with the requested symbol
* @param varSymbolNode the variable symbol node to resolve (node must be in the AST)
*/
public VariableTypeResolver(SimpleName varSymbolNode) {
this.symbol = varSymbolNode.getIdentifier();
this.minScope = varSymbolNode;
}

public VariableTypeResolver(String varSymbol, ASTNode minScope) {
this.symbol = varSymbol;
this.minScope = minScope;
}

public VariableTypeResolver disableMethodLevel() {
methodLevel = false;
return this;
}
public VariableTypeResolver disableTypeLevel() {
typeLevel = false;
return this;
}

/**
* Node's parent is instance of {@link VariableDeclarationFragment} or {@link SingleVariableDeclaration}
* @return the SimpleName node of declaration
*/
public SimpleName resolveDeclSimpleName() {
if (!found()) {
resolve();
}
return declSN;
}

private void resolve() {
if(found()) {return;}

if (methodLevel) {
apply(FindUpper.methodScope(minScope));
}

if(found()) {return;}

if (typeLevel) {
AbstractTypeDeclaration typeScope = FindUpper.abstractTypeScope(minScope);
applyInFields(typeScope);

if(found()) {return;}

for (TypeDeclaration superClass : superClasses(typeScope)) {
if(found()) {return;}
applyInFields(superClass);
}
}
}

private boolean found() {
return declSN != null;
}

private void apply(ASTNode scope) {
if (scope == null) {
throw new NullPointerException();
}
scope.accept(visitor);
}

private void applyInFields(AbstractTypeDeclaration typeScope) {
for (Object bd : typeScope.bodyDeclarations()) {
if (bd instanceof FieldDeclaration) {
apply((ASTNode) bd);
}
}
}

private List<TypeDeclaration> superClasses(AbstractTypeDeclaration atd) {
if (atd instanceof TypeDeclaration) {
return AstUtils.superClasses((TypeDeclaration) atd);
}
else {
return Collections.EMPTY_LIST;
}
}
}
也是网上找的

Ⅹ apply 和load defaults

apply和loaddefaults的区别
apply:应用,比如设置了某些功能的改变,就可以applyRestoreDefaults:恢复默认,如果想把发动过的设置恢复默认设置就可以用它了Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

热点内容
安卓微信拍了拍怎么改 发布:2025-01-17 05:57:31 浏览:46
BMF服务器的系统服务怎么关 发布:2025-01-17 05:50:29 浏览:876
免刷安卓系统怎么进入usb调试 发布:2025-01-17 05:48:21 浏览:837
数据库的三层架构 发布:2025-01-17 05:17:36 浏览:149
云顶之弈有人开脚本怎么举报 发布:2025-01-17 05:16:59 浏览:682
sql包含数字 发布:2025-01-17 05:11:56 浏览:292
密码忘记了怎么查看 发布:2025-01-17 05:02:30 浏览:682
脚本执行sql语句 发布:2025-01-17 04:47:51 浏览:702
结构体访问成员变量 发布:2025-01-17 04:32:09 浏览:31
热点缓存 发布:2025-01-17 04:30:07 浏览:523