我想用javaFX(Snake游戏)编写代码但是现在还没有完成,因为它还没有考虑<?php
$servername = "localhost";
$username = "myusername";
$password = "mypassword";
try {
$conn = new PDO("mysql:host=$servername;dbname=mydatabase", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
// strip tags may not be the best method for your project to apply extra
layer of security but fits needs for this tutorial
$search = strip_tags(trim($_GET['q']));
// Do Prepared Query
$query = $conn->prepare("
SELECT * FROM (
SELECT wp_terms.name
FROM wp_terms
JOIN wp_term_taxonomy
ON wp_term_taxonomy.term_id = wp_terms.term_id
WHERE taxonomy = 'job_listing_region'
AND count = 0
) as T"
);
// Add a wildcard search to the search variable
$query->execute(array(':search'=>"%".$search."%"));
// Do a quick fetchall on the results
$list = $query->fetchall(PDO::FETCH_ASSOC);
// Make sure we have a result
if(count($list) > 0){
foreach ($list as $key => $value) {
$data[] = array('id' => $value['name'], 'text' => $value['name']);
}
} else {
$data[] = array('id' => '0', 'text' => 'No Products Found');
}
// return the result in json
echo json_encode($data);
。我写了这个,它不是面向对象的。当我对它进行排序并尝试使其面向对象时(完全使用正确运行的最后一个代码),它会抛出 static void Main()
{
WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
if (!hasAdministrativeRight)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = Environment.CurrentDirectory;
startInfo.FileName = Application.ExecutablePath;
startInfo.Verb = "runas";
try
{
Process p = Process.Start(startInfo);
Application.Exit();
}
catch (System.ComponentModel.Win32Exception ex)
{
MessageBox.Show("This utility requires elevated priviledges to complete correctly.", "Error: UAC Authorisation Required", MessageBoxButtons.OK);
// Debug.Print(ex.Message);
return;
}
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
。
例外是:
game Over
有人说我补充说:
Exception in Application constructor
添加之后,我得到一个新的例外:
Exception in Application constructor
Exception in thread "main" java.lang.NoSuchMethodException: Main_Snake.main([Ljava.lang.String;)
at java.lang.Class.getMethod(Class.java:1819)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:125)
有人可以查看我的代码吗?
public static void main(String[] args) {
launch(args);
}
答案 0 :(得分:2)
启动应用程序时,它会创建Main_Snake
的实例(因为那是Application
类。
您的Main_Snake
类有一个名为snake
的{{1}}字段(实例变量),该字段已内联初始化为新的Snake
实例:
Snake
您的public class Main_Snake extends Application {
Snake snake = new Snake();
// ...
}
类是Snake
的子类(为什么?):
Main_Snake
这意味着它继承了public class Snake extends Main_Snake { ... }
的所有字段和方法。因此,当您创建新的Main_Snake
实例时,它会初始化Snake
中定义的所有字段,以及从Snake
继承的所有字段。特别是,它创建了一个名为Main_Snake
的{{1}}类型的新对象(因为该字段在超类snake
中定义)。
所以,到目前为止,我们已经:
JavaFX在启动时创建Snake
。作为创建Main_Snake
的过程的一部分,创建了Main_Snake
(因为Main_Snake
有Snake
)。
作为创建Main_Snake
的过程的一部分,我们会创建一个新的Snake
(Snake
继承自Snake
)。
作为创建Snake
对象(记住继承自Main_Snake
)的过程的一部分,创建了一个新的Snake
。
作为创建Main_Snake
对象(记住继承自Snake
)的过程的一部分,创建了一个新的Snake
。
我认为现在你开始看到问题......
我无法告诉你如何解决这个问题,因为我不知道为什么你希望Main_Snake
成为Snake
的子类。但是,您不能同时Snake
初始化新Main_Snake
,Main_Snake
是Snake
的子类。